From 04592c876b6ff6fb0c11338499ed4e0bf6934330 Mon Sep 17 00:00:00 2001 From: Alice Bevan-McGregor Date: Wed, 29 May 2013 12:04:53 -0400 Subject: [PATCH] Moved pre_save after validation and determination of creation state; added pre_save_validation where pre_save had been. --- mongoengine/document.py | 6 ++++-- mongoengine/signals.py | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/mongoengine/document.py b/mongoengine/document.py index 89627dcd..9946ffac 100644 --- a/mongoengine/document.py +++ b/mongoengine/document.py @@ -195,7 +195,7 @@ class Document(BaseDocument): the cascade save using cascade_kwargs which overwrites the existing kwargs with custom values """ - signals.pre_save.send(self.__class__, document=self) + signals.pre_save_validation.send(self.__class__, document=self) if validate: self.validate(clean=clean) @@ -206,7 +206,9 @@ class Document(BaseDocument): doc = self.to_mongo() created = ('_id' not in doc or self._created or force_insert) - + + signals.pre_save.send(self.__class__, document=self, created=created) + try: collection = self._get_collection() if created: diff --git a/mongoengine/signals.py b/mongoengine/signals.py index 52ef3129..50f8e946 100644 --- a/mongoengine/signals.py +++ b/mongoengine/signals.py @@ -38,6 +38,7 @@ _signals = Namespace() pre_init = _signals.signal('pre_init') post_init = _signals.signal('post_init') +pre_save_validation = _signals.signal('pre_save_validation') pre_save = _signals.signal('pre_save') post_save = _signals.signal('post_save') pre_delete = _signals.signal('pre_delete')