Revert "Non-required fields with 'allow_null=True' should not imply a default value (#5639)"

This reverts commit 905a5579df.

Closes #5708
This commit is contained in:
Carlton Gibson 2018-03-20 12:26:51 +01:00
parent 7bb92d3ba5
commit 8d2ac40658
2 changed files with 2 additions and 10 deletions

View File

@ -442,10 +442,10 @@ class Field(object):
except (KeyError, AttributeError) as exc: except (KeyError, AttributeError) as exc:
if self.default is not empty: if self.default is not empty:
return self.get_default() return self.get_default()
if not self.required:
raise SkipField()
if self.allow_null: if self.allow_null:
return None return None
if not self.required:
raise SkipField()
msg = ( msg = (
'Got {exc_type} when attempting to get a value for field ' 'Got {exc_type} when attempting to get a value for field '
'`{field}` on serializer `{serializer}`.\nThe serializer ' '`{field}` on serializer `{serializer}`.\nThe serializer '

View File

@ -384,14 +384,6 @@ class TestNotRequiredOutput:
serializer.save() serializer.save()
assert serializer.data == {'included': 'abc'} assert serializer.data == {'included': 'abc'}
def test_not_required_output_for_allow_null_field(self):
class ExampleSerializer(serializers.Serializer):
omitted = serializers.CharField(required=False, allow_null=True)
included = serializers.CharField()
serializer = ExampleSerializer({'included': 'abc'})
assert 'omitted' not in serializer.data
class TestDefaultOutput: class TestDefaultOutput:
def setup(self): def setup(self):