From 5cc71ec2adad4e4601da50264c2d59ed5e32eb16 Mon Sep 17 00:00:00 2001 From: Serge Chmelev Date: Tue, 6 May 2014 13:25:31 +0400 Subject: [PATCH] Fix for post_init signal to receive correct state of _created flag. --- mongoengine/base/document.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mongoengine/base/document.py b/mongoengine/base/document.py index 307fcafd..3258b2c3 100644 --- a/mongoengine/base/document.py +++ b/mongoengine/base/document.py @@ -60,6 +60,8 @@ class BaseDocument(object): else: self._data = SemiStrictDict.create(allowed_keys=self._fields_ordered)() + self._created = values.pop("_created", True) + self._data = {} self._dynamic_fields = SON() # Assign default values to instance @@ -619,9 +621,8 @@ class BaseDocument(object): if cls.STRICT: data = dict((k, v) for k,v in data.iteritems() if k in cls._fields) - obj = cls(__auto_convert=False, **data) + obj = cls(__auto_convert=False, _created=False, **data) obj._changed_fields = changed_fields - obj._created = False if not _auto_dereference: obj._fields = fields return obj