Skip to content

Commit fffd763

Browse files
authored
Merge pull request #184 from netboxlabs/183-delete-cot
183 delete cot
2 parents f2e2da1 + 9203ea4 commit fffd763

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

netbox_custom_objects/models.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -553,6 +553,11 @@ 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)

netbox_custom_objects/views.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +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+
193+
# Find CustomObjectTypeFields that reference this CustomObjectType
194+
referencing_fields = CustomObjectTypeField.objects.filter(
195+
related_object_type=obj.content_type
196+
)
197+
198+
# Add the CustomObjectTypeFields that reference this CustomObjectType
199+
if referencing_fields.exists():
200+
dependent_objects[CustomObjectTypeField] = list(referencing_fields)
201+
192202
return dependent_objects
193203

194204

0 commit comments

Comments
 (0)