From f4850994748557f4040fe94e8155456085654472 Mon Sep 17 00:00:00 2001 From: Arijeet Mukherjee Date: Thu, 3 Aug 2017 01:21:00 +0530 Subject: [PATCH] Fix Issue #5301. Fix docs + allow None to be passed in to child + tests --- rest_framework/fields.py | 4 ++-- tests/test_fields.py | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) 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`.