mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
22 lines
703 B
Python
22 lines
703 B
Python
from django.db.models.signals import pre_delete
|
|
from django.dispatch import receiver
|
|
|
|
from dcim.models import Device
|
|
from virtualization.models import VirtualMachine
|
|
from .models import IPAddress
|
|
|
|
|
|
@receiver(pre_delete, sender=IPAddress)
|
|
def clear_primary_ip(instance, **kwargs):
|
|
"""
|
|
When an IPAddress is deleted, trigger save() on any Devices/VirtualMachines for which it
|
|
was a primary IP.
|
|
"""
|
|
field_name = f'primary_ip{instance.family}'
|
|
device = Device.objects.filter(**{field_name: instance}).first()
|
|
if device:
|
|
device.save()
|
|
virtualmachine = VirtualMachine.objects.filter(**{field_name: instance}).first()
|
|
if virtualmachine:
|
|
virtualmachine.save()
|