20738 update vc_position in delete not signal handler

This commit is contained in:
Arthur
2025-11-03 13:48:50 -08:00
parent 0b61d69e05
commit 264b40a269
2 changed files with 8 additions and 14 deletions

View File

@@ -1154,7 +1154,6 @@ class VirtualChassis(PrimaryModel):
})
def delete(self, *args, **kwargs):
# Check for LAG interfaces split across member chassis
interfaces = Interface.objects.filter(
device__in=self.members.all(),
@@ -1168,6 +1167,13 @@ class VirtualChassis(PrimaryModel):
"interfaces."
).format(self=self, interfaces=InterfaceSpeedChoices))
# Clear vc_position and vc_priority on member devices BEFORE calling super().delete()
# This must be done here because on_delete=SET_NULL executes before pre_delete signal
for device in members_list:
device.vc_position = None
device.vc_priority = None
device.save()
return super().delete(*args, **kwargs)