From 25e0f12976635c0c6fc89ea68b2eacfdda2fce55 Mon Sep 17 00:00:00 2001 From: rmendocna Date: Tue, 6 Dec 2016 03:54:21 +0000 Subject: [PATCH] fix delete cascade for models without a literal id field: replace with pk (#1247) --- mongoengine/queryset/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mongoengine/queryset/base.py b/mongoengine/queryset/base.py index 17ee989e..ec48b4f3 100644 --- a/mongoengine/queryset/base.py +++ b/mongoengine/queryset/base.py @@ -447,7 +447,7 @@ class BaseQuerySet(object): if doc._collection == document_cls._collection: for ref in queryset: cascade_refs.add(ref.id) - ref_q = document_cls.objects(**{field_name + '__in': self, 'id__nin': cascade_refs}) + ref_q = document_cls.objects(**{field_name + '__in': self, 'pk__nin': cascade_refs}) ref_q_count = ref_q.count() if ref_q_count > 0: ref_q.delete(write_concern=write_concern, cascade_refs=cascade_refs)