From 84e611b91e94ac32341460dc6cbb46396743cf58 Mon Sep 17 00:00:00 2001 From: Ross Lawley Date: Mon, 27 Jun 2011 16:46:39 +0100 Subject: [PATCH] Tweak to dereferencing --- mongoengine/dereference.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mongoengine/dereference.py b/mongoengine/dereference.py index 9192901c..6bfabd94 100644 --- a/mongoengine/dereference.py +++ b/mongoengine/dereference.py @@ -2,9 +2,10 @@ import operator import pymongo -from base import BaseDict, BaseList, get_document +from base import BaseDict, BaseList, get_document, TopLevelDocumentMetaclass from connection import _get_db from queryset import QuerySet +from document import Document class DeReference(object): @@ -65,7 +66,7 @@ class DeReference(object): field_cls = getattr(getattr(field, 'field', None), 'document_type', None) references = self._find_references(v, depth) for key, refs in references.iteritems(): - if field_cls: + if isinstance(field_cls, (Document, TopLevelDocumentMetaclass)): key = field_cls reference_map.setdefault(key, []).extend(refs) elif isinstance(item, (pymongo.dbref.DBRef)):