diff --git a/mongoengine/base/fields.py b/mongoengine/base/fields.py index 304c084d..4167720b 100644 --- a/mongoengine/base/fields.py +++ b/mongoengine/base/fields.py @@ -135,6 +135,10 @@ class BaseField(object): EmbeddedDocument = _import_class('EmbeddedDocument') if isinstance(value, EmbeddedDocument): value._instance = weakref.proxy(instance) + elif isinstance(value, (list, tuple)): + for v in value: + if isinstance(v, EmbeddedDocument): + v._instance = weakref.proxy(instance) instance._data[self.name] = value def error(self, message="", errors=None, field_name=None):