aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/serializers.py
diff options
context:
space:
mode:
authorYuri Prezument2014-01-06 13:56:57 +0200
committerYuri Prezument2014-01-12 10:53:54 +0200
commite1bbe9d514c95aba596cff64292eb0f0bc7d99fa (patch)
tree585b76e6a22b61df7640b3db76c11139dae25eeb /rest_framework/serializers.py
parent6e622d644c9b55b905e24497f0fb818d557fd970 (diff)
downloaddjango-rest-framework-e1bbe9d514c95aba596cff64292eb0f0bc7d99fa.tar.bz2
Set `allow_none = True` for CharFields with null=True
Diffstat (limited to 'rest_framework/serializers.py')
-rw-r--r--rest_framework/serializers.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py
index fa935306..0164965c 100644
--- a/rest_framework/serializers.py
+++ b/rest_framework/serializers.py
@@ -821,10 +821,15 @@ class ModelSerializer(Serializer):
kwargs.update({attribute: getattr(model_field, attribute)})
try:
- return self.field_mapping[model_field.__class__](**kwargs)
+ field_class = self.field_mapping[model_field.__class__]
except KeyError:
return ModelField(model_field=model_field, **kwargs)
+ if issubclass(field_class, CharField) and model_field.null:
+ kwargs['allow_none'] = True
+
+ return field_class(**kwargs)
+
def get_validation_exclusions(self):
"""
Return a list of field names to exclude from model validation.