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

This commit is contained in:
Tom Christie 2013-02-07 09:24:34 +00:00
parent 5813a09512
commit 8113d66126
3 changed files with 5 additions and 7 deletions

View File

@ -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):

View File

@ -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

View File

@ -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: