Fixes #15548: Ignore many-to-many mappings when checking dependencies of an object being deleted

This commit is contained in:
Jeremy Stretch 2024-04-29 13:07:48 -04:00
parent cbfed83f60
commit 0e3c35ae58

View File

@ -339,10 +339,14 @@ class ObjectDeleteView(GetReturnURLMixin, BaseObjectView):
# Compile a mapping of models to instances # Compile a mapping of models to instances
dependent_objects = defaultdict(list) dependent_objects = defaultdict(list)
for model, instance in collector.instances_with_model(): for model, instances in collector.instances_with_model():
# Ignore relations to auto-created models (e.g. many-to-many mappings)
if model._meta.auto_created:
continue
# Omit the root object # Omit the root object
if instance != obj: if instances == obj:
dependent_objects[model].append(instance) continue
dependent_objects[model].append(instances)
return dict(dependent_objects) return dict(dependent_objects)