fix delete cascade for models without a literal id field: replace with pk (#1247)

This commit is contained in:
rmendocna 2016-12-06 03:54:21 +00:00 committed by Stefan Wójcik
parent f168682a68
commit 25e0f12976

View File

@ -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)