Refine model manager behavior so as not to use the behavior in incorrect cases. Closes #1205

This commit is contained in:
Tom Christie 2013-12-10 08:46:44 +00:00
parent 785a42cd5a
commit 3a1c40f814

View File

@ -412,7 +412,13 @@ class BaseSerializer(WritableField):
# Set the serializer object if it exists
obj = get_component(self.parent.object, self.source or field_name) if self.parent.object else None
obj = obj.all() if is_simple_callable(getattr(obj, 'all', None)) else obj
# If we have a model manager or similar object then we need
# to iterate through each instance.
if (self.many and
not hasattr(obj, '__iter__') and
is_simple_callable(getattr(obj, 'all', None))):
obj = obj.all()
if self.source == '*':
if value: