diff --git a/rest_framework/fields.py b/rest_framework/fields.py index 5139033c3..9c507392a 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -1522,7 +1522,7 @@ class ListField(Field): } def __init__(self, *args, **kwargs): - child = kwargs.pop('child') + child = kwargs.pop('child', None) if child is None: child = copy.deepcopy(self.child) self.child = child @@ -1586,7 +1586,7 @@ class DictField(Field): } def __init__(self, *args, **kwargs): - child = kwargs.pop('child') + child = kwargs.pop('child', None) if child is None: child = copy.deepcopy(self.child) self.child = child diff --git a/tests/test_fields.py b/tests/test_fields.py index 38dc5f7a7..48403f55e 100644 --- a/tests/test_fields.py +++ b/tests/test_fields.py @@ -1734,6 +1734,13 @@ class TestUnvalidatedListField(FieldValues): field = serializers.ListField() +class TestUnvalidatedListFieldWithChildNone(TestUnvalidatedListField): + """ + Values for `ListField` with `child=None`. + """ + field = serializers.ListField(child=None) + + class TestDictField(FieldValues): """ Values for `ListField` with CharField as child. @@ -1799,6 +1806,13 @@ class TestUnvalidatedDictField(FieldValues): field = serializers.DictField() +class TestUnvalidatedDictFieldWithChildNone(TestUnvalidatedDictField): + """ + Values for `ListField` with `child=None`. + """ + field = serializers.DictField(child=None) + + class TestJSONField(FieldValues): """ Values for `JSONField`.