mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-02-02 20:54:42 +03:00
Use new style of required=<bool>
not blank
or null
This commit is contained in:
parent
5813a09512
commit
8113d66126
|
@ -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:
|
||||
|
|
Loading…
Reference in New Issue
Block a user