mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-02-02 20:54:42 +03:00
Make use o issubclass instead of isinstance (fix issue #645)
Because __mro__ is a list of classes and not instances. DictWithMetadata.__getstate__ was never called Signed-off-by: Fernando Rocha <fernandogrd@gmail.com>
This commit is contained in:
parent
41364b3be0
commit
ea004b5e7a
|
@ -31,7 +31,7 @@ class DictWithMetadata(dict):
|
|||
"""
|
||||
# return an instance of the first dict in MRO that isn't a DictWithMetadata
|
||||
for base in self.__class__.__mro__:
|
||||
if not isinstance(base, DictWithMetadata) and isinstance(base, dict):
|
||||
if not issubclass(base, DictWithMetadata) and issubclass(base, dict):
|
||||
return base(self)
|
||||
|
||||
|
||||
|
|
|
@ -870,6 +870,13 @@ class SerializerPickleTests(TestCase):
|
|||
fields = ('name', 'age')
|
||||
pickle.dumps(InnerPersonSerializer(Person(name="Noah", age=950)).data)
|
||||
|
||||
def test_getstate_method_should_not_return_none(self):
|
||||
'''Regression test for
|
||||
https://github.com/tomchristie/django-rest-framework/issues/645
|
||||
'''
|
||||
d = serializers.DictWithMetadata({1:1})
|
||||
self.assertEqual(d.__getstate__(), serializers.SortedDict({1:1}))
|
||||
|
||||
|
||||
class DepthTest(TestCase):
|
||||
def test_implicit_nesting(self):
|
||||
|
|
Loading…
Reference in New Issue
Block a user