This commit is contained in:
Mark Jones 2016-05-03 16:04:21 +00:00
commit 09452dbb0a
2 changed files with 17 additions and 1 deletions

View File

@ -581,7 +581,10 @@ class BaseSerializer(WritableField):
DeprecationWarning, stacklevel=2) DeprecationWarning, stacklevel=2)
if many: if many:
if hasattr(obj, '__iter__'):
self._data = [self.to_native(item) for item in obj] 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)

View File

@ -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, [])