Fixed reload issue with ReferenceField where dbref=False (MongoEngine/mongoengine#138)

This commit is contained in:
Ross Lawley
2012-09-24 18:49:29 +00:00
parent adb60ef1ac
commit 6a4351e44f
4 changed files with 15 additions and 5 deletions

View File

@@ -361,7 +361,12 @@ class Document(BaseDocument):
id_field = self._meta['id_field']
obj = self.__class__.objects(
**{id_field: self[id_field]}
).first().select_related(max_depth=max_depth)
).limit(1).select_related(max_depth=max_depth)
if obj:
obj = obj[0]
else:
msg = "Reloaded document has been deleted"
raise OperationError(msg)
for field in self._fields:
setattr(self, field, self._reload(field, obj[field]))
if self._dynamic: