From b691a56d5113b135c5ca077fc0c19aab4e9e26de Mon Sep 17 00:00:00 2001 From: emilecaron Date: Fri, 26 Jun 2015 08:52:30 +0000 Subject: [PATCH] late set instanciation --- mongoengine/queryset/base.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mongoengine/queryset/base.py b/mongoengine/queryset/base.py index df628c35..317e47bc 100644 --- a/mongoengine/queryset/base.py +++ b/mongoengine/queryset/base.py @@ -363,10 +363,8 @@ class BaseQuerySet(object): queryset = self.clone() doc = queryset._document - cascade_refs = set() if cascade_refs is None else cascade_refs - if doc in cascade_refs: + if cascade_refs and doc in cascade_refs: return 0 - cascade_refs.add(doc) if write_concern is None: write_concern = {} @@ -410,6 +408,8 @@ class BaseQuerySet(object): ref_q = document_cls.objects(**{field_name + '__in': self}) ref_q_count = ref_q.count() if ref_q_count > 0: + cascade_refs = set() if cascade_refs is None else cascade_refs + cascade_refs.add(doc) ref_q.delete(write_concern=write_concern, cascade_refs=cascade_refs) elif rule == NULLIFY: document_cls.objects(**{field_name + '__in': self}).update(