Skip to content

Commit 9203ea4

Browse files
committed
183 fix deletion of COT when Object Field pointing to it
1 parent 8d1c460 commit 9203ea4

File tree

2 files changed

+9
-9
lines changed

2 files changed

+9
-9
lines changed

netbox_custom_objects/models.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -553,15 +553,15 @@ def delete(self, *args, **kwargs):
553553
self.clear_model_cache(self.id)
554554

555555
model = self.get_model()
556+
557+
# Delete all CustomObjectTypeFields that reference this CustomObjectType
558+
for field in CustomObjectTypeField.objects.filter(related_object_type=self.content_type):
559+
field.delete()
560+
556561
object_type = ObjectType.objects.get_for_model(model)
557562
ObjectChange.objects.filter(changed_object_type=object_type).delete()
558563
super().delete(*args, **kwargs)
559564

560-
# Delete all CustomObjectTypeFields that reference this CustomObjectType
561-
CustomObjectTypeField.objects.filter(
562-
related_object_type=self.content_type
563-
).delete()
564-
565565
# Temporarily disconnect the pre_delete handler to skip the ObjectType deletion
566566
# TODO: Remove this disconnect/reconnect after ObjectType has been exempted from handle_deleted_object
567567
pre_delete.disconnect(handle_deleted_object)

netbox_custom_objects/views.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from django.urls import reverse
1010
from django.utils.translation import gettext_lazy as _
1111
from django.views.generic import View
12-
from extras.choices import CustomFieldTypeChoices, CustomFieldUIVisibleChoices
12+
from extras.choices import CustomFieldUIVisibleChoices
1313
from extras.forms import JournalEntryForm
1414
from extras.models import JournalEntry
1515
from extras.tables import JournalEntryTable
@@ -189,16 +189,16 @@ def _get_dependent_objects(self, obj):
189189
dependent_objects = super()._get_dependent_objects(obj)
190190
model = obj.get_model()
191191
dependent_objects[model] = list(model.objects.all())
192-
192+
193193
# Find CustomObjectTypeFields that reference this CustomObjectType
194194
referencing_fields = CustomObjectTypeField.objects.filter(
195195
related_object_type=obj.content_type
196196
)
197-
197+
198198
# Add the CustomObjectTypeFields that reference this CustomObjectType
199199
if referencing_fields.exists():
200200
dependent_objects[CustomObjectTypeField] = list(referencing_fields)
201-
201+
202202
return dependent_objects
203203

204204

0 commit comments

Comments
 (0)