Commit 8113d661 by Tom Christie

Use new style of `required=<bool>` not `blank` or `null`

parent 5813a095
......@@ -481,17 +481,15 @@ class ModelSerializer(Serializer):
Creates a default instance of a basic non-relational field.
"""
kwargs = {}
has_default = model_field.has_default()
kwargs['blank'] = model_field.blank
if model_field.null or model_field.blank:
if model_field.null or model_field.blank or has_default:
kwargs['required'] = False
if isinstance(model_field, models.AutoField) or not model_field.editable:
kwargs['read_only'] = True
if model_field.has_default():
kwargs['required'] = False
if has_default:
kwargs['default'] = model_field.get_default()
if issubclass(model_field.__class__, models.TextField):
......
......@@ -18,7 +18,7 @@ class ForeignKeySourceSerializer(serializers.ModelSerializer):
class NullableForeignKeySourceSerializer(serializers.ModelSerializer):
target = serializers.SlugRelatedField(slug_field='name', null=True)
target = serializers.SlugRelatedField(slug_field='name', required=False)
class Meta:
model = NullableForeignKeySource
......
......@@ -802,7 +802,7 @@ class BlankFieldTests(TestCase):
model = BlankFieldModel
class BlankFieldSerializer(serializers.Serializer):
title = serializers.CharField(blank=True)
title = serializers.CharField(required=False)
class NotBlankFieldModelSerializer(serializers.ModelSerializer):
class Meta:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment