aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/serializers.py
diff options
context:
space:
mode:
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.