Ported bugfix for circular references regression

Refs #294
This commit is contained in:
Ross Lawley
2011-10-08 07:29:12 -07:00
parent 89c44cd14e
commit 9a0a0b1bd4
3 changed files with 68 additions and 2 deletions

View File

@@ -33,13 +33,15 @@ class DeReference(object):
items = [i for i in items]
self.max_depth = max_depth
doc_type = None
if instance and instance._fields:
doc_type = instance._fields[name].field
if isinstance(doc_type, ReferenceField):
doc_type = doc_type.document_type
if all([i.__class__ == doc_type for i in items]):
return items
self.reference_map = self._find_references(items)
self.object_map = self._fetch_objects(doc_type=doc_type)