2
0
Эх сурвалжийг харах

Check for change records only if objects being deleted support change logging

jeremystretch 3 жил өмнө
parent
commit
62509c20da

+ 8 - 6
netbox/utilities/testing/views.py

@@ -8,6 +8,7 @@ from django.urls import reverse
 
 from extras.choices import ObjectChangeActionChoices
 from extras.models import ObjectChange
+from netbox.models.features import ChangeLoggingMixin
 from users.models import ObjectPermission
 from utilities.choices import ImportFormatChoices
 from .base import ModelTestCase
@@ -350,12 +351,13 @@ class ViewTestCases:
                 self._get_queryset().get(pk=instance.pk)
 
             # Verify ObjectChange creation
-            objectchanges = ObjectChange.objects.filter(
-                changed_object_type=ContentType.objects.get_for_model(instance),
-                changed_object_id=instance.pk
-            )
-            self.assertEqual(len(objectchanges), 1)
-            self.assertEqual(objectchanges[0].action, ObjectChangeActionChoices.ACTION_DELETE)
+            if issubclass(instance.__class__, ChangeLoggingMixin):
+                objectchanges = ObjectChange.objects.filter(
+                    changed_object_type=ContentType.objects.get_for_model(instance),
+                    changed_object_id=instance.pk
+                )
+                self.assertEqual(len(objectchanges), 1)
+                self.assertEqual(objectchanges[0].action, ObjectChangeActionChoices.ACTION_DELETE)
 
         @override_settings(EXEMPT_VIEW_PERMISSIONS=['*'])
         def test_delete_object_with_constrained_permission(self):