mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-23 17:08:41 -06:00
19680 skip changelog update for deleted objects
This commit is contained in:
parent
5334fd7849
commit
1c71107a44
@ -117,6 +117,7 @@ def handle_deleted_object(sender, instance, **kwargs):
|
|||||||
# to queueing any events for the object being deleted, in case a validation error is
|
# to queueing any events for the object being deleted, in case a validation error is
|
||||||
# raised, causing the deletion to fail.
|
# raised, causing the deletion to fail.
|
||||||
model_name = f'{sender._meta.app_label}.{sender._meta.model_name}'
|
model_name = f'{sender._meta.app_label}.{sender._meta.model_name}'
|
||||||
|
print(f"handle_deleted_object: {model_name}")
|
||||||
validators = get_config().PROTECTION_RULES.get(model_name, [])
|
validators = get_config().PROTECTION_RULES.get(model_name, [])
|
||||||
try:
|
try:
|
||||||
run_validators(instance, validators)
|
run_validators(instance, validators)
|
||||||
@ -162,6 +163,12 @@ def handle_deleted_object(sender, instance, **kwargs):
|
|||||||
getattr(obj, related_field_name).remove(instance)
|
getattr(obj, related_field_name).remove(instance)
|
||||||
elif type(relation) is ManyToOneRel and relation.field.null is True:
|
elif type(relation) is ManyToOneRel and relation.field.null is True:
|
||||||
setattr(obj, related_field_name, None)
|
setattr(obj, related_field_name, None)
|
||||||
|
# make sure the object hasn't been deleted - in case of
|
||||||
|
# deletion chaining of related objects
|
||||||
|
try:
|
||||||
|
obj.refresh_from_db()
|
||||||
|
except DoesNotExist:
|
||||||
|
continue
|
||||||
obj.save()
|
obj.save()
|
||||||
|
|
||||||
# Enqueue the object for event processing
|
# Enqueue the object for event processing
|
||||||
|
Loading…
Reference in New Issue
Block a user