diff --git a/tests/test_serializer_lists.py b/tests/test_serializer_lists.py index 12ed78b84..ce4d5373a 100644 --- a/tests/test_serializer_lists.py +++ b/tests/test_serializer_lists.py @@ -294,7 +294,7 @@ class TestListSerializerClass: class TestSerializerPartialUsage: """ - When not submitting key for list fields or multiple choice, partial + When not submitting keys for list, dict or multiple choice fields, partial serialization should result in an empty state (key not there), not an empty list. @@ -320,6 +320,16 @@ class TestSerializerPartialUsage: assert serializer.validated_data == {} assert serializer.errors == {} + def test_partial_dictfield(self): + class DictFieldSerializer(serializers.Serializer): + data = serializers.DictField() + serializer = DictFieldSerializer(data=MultiValueDict(), partial=True) + result = serializer.to_internal_value(data={}) + assert "data" not in result + assert serializer.is_valid() + assert serializer.validated_data == {} + assert serializer.errors == {} + def test_allow_empty_true(self): class ListSerializer(serializers.Serializer): update_field = serializers.IntegerField()