From 6399de0b51dedc0c52a9c0480df785a20ce38c50 Mon Sep 17 00:00:00 2001 From: Axel Haustant Date: Mon, 19 Oct 2015 16:39:00 +0200 Subject: [PATCH] Fix _instance on list of EmbeddedDocuments --- mongoengine/base/fields.py | 4 ++++ 1 file changed, 4 insertions(+) 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):