Skip to content

Commit 3324ed6

Browse files
authored
Add failing test
1 parent 5242d9a commit 3324ed6

1 file changed

Lines changed: 18 additions & 0 deletions

File tree

tests/test_fields.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2572,6 +2572,24 @@ class TestSerializer(serializers.Serializer):
25722572
assert not serializer.is_valid()
25732573
assert 'data' in serializer.errors
25742574

2575+
def test_partial_update_can_clear_html_dict_field(self):
2576+
"""
2577+
Test that a partial update can clear a DictField when provided with an
2578+
empty string value through a QueryDict.
2579+
"""
2580+
class TestSerializer(serializers.Serializer):
2581+
field_name = serializers.DictField(required=False)
2582+
other_field = serializers.CharField(required=False)
2583+
2584+
serializer = TestSerializer(
2585+
data=QueryDict('field_name='),
2586+
partial=True,
2587+
)
2588+
assert serializer.is_valid()
2589+
assert 'field_name' in serializer.validated_data
2590+
assert serializer.validated_data['field_name'] == {}
2591+
assert 'other_field' not in serializer.validated_data
2592+
25752593

25762594
class TestNestedDictField(FieldValues):
25772595
"""

0 commit comments

Comments
 (0)