aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/fields.py
diff options
context:
space:
mode:
authorTom Christie2014-01-12 06:52:40 -0800
committerTom Christie2014-01-12 06:52:40 -0800
commit07cff7b37f23489579ad9effeea9365725b7cc82 (patch)
tree219a03e808f239c6ca7d5e270fb278b78788a0ad /rest_framework/fields.py
parent52686420f4bf866064ee88a15903665f14289394 (diff)
parentcd9a4194ea4f4dc0e43a34485cd8a27eba44a39a (diff)
downloaddjango-rest-framework-07cff7b37f23489579ad9effeea9365725b7cc82.tar.bz2
Merge pull request #1348 from yprez/none-to-empty-string_2.4
Coerce None to empty string
Diffstat (limited to 'rest_framework/fields.py')
-rw-r--r--rest_framework/fields.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/rest_framework/fields.py b/rest_framework/fields.py
index 5ee75235..16485b41 100644
--- a/rest_framework/fields.py
+++ b/rest_framework/fields.py
@@ -443,8 +443,9 @@ class CharField(WritableField):
type_label = 'string'
form_field_class = forms.CharField
- def __init__(self, max_length=None, min_length=None, *args, **kwargs):
+ def __init__(self, max_length=None, min_length=None, allow_none=False, *args, **kwargs):
self.max_length, self.min_length = max_length, min_length
+ self.allow_none = allow_none
super(CharField, self).__init__(*args, **kwargs)
if min_length is not None:
self.validators.append(validators.MinLengthValidator(min_length))
@@ -452,7 +453,9 @@ class CharField(WritableField):
self.validators.append(validators.MaxLengthValidator(max_length))
def from_native(self, value):
- if isinstance(value, six.string_types) or value is None:
+ if value is None and not self.allow_none:
+ return ''
+ if isinstance(value, six.string_types):
return value
return smart_text(value)