mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-07 22:04:48 +03:00
Merge b8d5d94625
into 4f252086df
This commit is contained in:
commit
09452dbb0a
|
@ -581,7 +581,10 @@ class BaseSerializer(WritableField):
|
||||||
DeprecationWarning, stacklevel=2)
|
DeprecationWarning, stacklevel=2)
|
||||||
|
|
||||||
if many:
|
if many:
|
||||||
self._data = [self.to_native(item) for item in obj]
|
if hasattr(obj, '__iter__'):
|
||||||
|
self._data = [self.to_native(item) for item in obj]
|
||||||
|
else:
|
||||||
|
self._data = []
|
||||||
else:
|
else:
|
||||||
self._data = self.to_native(obj)
|
self._data = self.to_native(obj)
|
||||||
|
|
||||||
|
|
|
@ -13,3 +13,16 @@ class EmptySerializerTestCase(TestCase):
|
||||||
|
|
||||||
serializer = FooBarSerializer()
|
serializer = FooBarSerializer()
|
||||||
self.assertEquals(serializer.data, {'foo': 0})
|
self.assertEquals(serializer.data, {'foo': 0})
|
||||||
|
|
||||||
|
def test_serializing_none(self):
|
||||||
|
class FooBarSerializer(serializers.Serializer):
|
||||||
|
foo = serializers.IntegerField()
|
||||||
|
bar = serializers.SerializerMethodField('get_bar')
|
||||||
|
|
||||||
|
def get_bar(self, obj):
|
||||||
|
return 'bar'
|
||||||
|
|
||||||
|
serializer = FooBarSerializer(None, many=True)
|
||||||
|
self.assertEquals(serializer.data, [])
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user