Add _instance to Embedded Documents

Fixes MongoEngine/mongoengine#139
This commit is contained in:
Ross Lawley
2012-11-06 16:04:23 +00:00
parent 3cc2c617fd
commit 7d90aa76ff
5 changed files with 70 additions and 13 deletions

View File

@@ -1,5 +1,6 @@
import operator
import warnings
import weakref
from bson import DBRef, ObjectId
@@ -71,6 +72,9 @@ class BaseField(object):
if callable(value):
value = value()
EmbeddedDocument = _import_class('EmbeddedDocument')
if isinstance(value, EmbeddedDocument) and value._instance is None:
value._instance = weakref.proxy(instance)
return value
def __set__(self, instance, value):