Просмотр исходного кода

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

Jeremy Stretch 1 год назад
Родитель
Сommit
0e3c35ae58
1 измененных файлов с 7 добавлено и 3 удалено
  1. 7 3
      netbox/netbox/views/generic/object_views.py

+ 7 - 3
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)