From 0e3c35ae58cc1d128d90f26f14926657a87205cc Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Mon, 29 Apr 2024 13:07:48 -0400 Subject: [PATCH] Fixes #15548: Ignore many-to-many mappings when checking dependencies of an object being deleted --- netbox/netbox/views/generic/object_views.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/netbox/netbox/views/generic/object_views.py b/netbox/netbox/views/generic/object_views.py index 6277e1c5b..031b23b8f 100644 --- a/netbox/netbox/views/generic/object_views.py +++ b/netbox/netbox/views/generic/object_views.py @@ -339,10 +339,14 @@ class ObjectDeleteView(GetReturnURLMixin, BaseObjectView): # Compile a mapping of models to instances 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 - if instance != obj: - dependent_objects[model].append(instance) + if instances == obj: + continue + dependent_objects[model].append(instances) return dict(dependent_objects)