diff --git a/rest_framework/fields.py b/rest_framework/fields.py index 70c210c16..bf043c3b1 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -1718,8 +1718,6 @@ class DictField(Field): """ Dicts of native values <- Dicts of primitive datatypes. """ - if html.is_html_input(data): - data = html.parse_html_dict(data) if not isinstance(data, dict): self.fail('not_a_dict', input_type=type(data).__name__) return self.run_child_validation(data) diff --git a/tests/test_fields.py b/tests/test_fields.py index 9a1d04979..117c1b6cc 100644 --- a/tests/test_fields.py +++ b/tests/test_fields.py @@ -1997,6 +1997,17 @@ class TestDictField(FieldValues): output = field.run_validation(None) assert output is None + def test_html_input_as_dict(self): + """ + HTML inputs should be converted to dict + """ + class TestSerializer(serializers.Serializer): + properties = serializers.DictField() + + serializer = TestSerializer(data=QueryDict('properties.key1=value1&properties.key2=value2')) + assert serializer.is_valid() + assert serializer.validated_data == {'properties': {'key1': 'value1', 'key2': 'value2'}} + class TestNestedDictField(FieldValues): """