From 285a9a3f8531604042c9c4be3e324b9c10a13d51 Mon Sep 17 00:00:00 2001 From: Marduk <22483969+GodMorduk@users.noreply.github.com> Date: Thu, 27 Apr 2023 03:44:17 +0300 Subject: [PATCH] Added _instance for embedded_documents in dict values --- mongoengine/base/fields.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mongoengine/base/fields.py b/mongoengine/base/fields.py index 85a10ff23..ba035f5c9 100644 --- a/mongoengine/base/fields.py +++ b/mongoengine/base/fields.py @@ -162,6 +162,10 @@ def __set__(self, instance, value): for v in value: if isinstance(v, EmbeddedDocument): v._instance = weakref.proxy(instance) + elif isinstance(value, dict): + for v in value.values(): + if isinstance(v, EmbeddedDocument): + v._instance = weakref.proxy(instance) instance._data[self.name] = value