mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
17 lines
552 B
Python
17 lines
552 B
Python
![]() |
from django.db.models import Sum
|
||
|
from django.db.models.signals import post_delete, post_save
|
||
|
from django.dispatch import receiver
|
||
|
|
||
|
from .models import VirtualDisk, VirtualMachine
|
||
|
|
||
|
|
||
|
@receiver((post_delete, post_save), sender=VirtualDisk)
|
||
|
def update_virtualmachine_disk(instance, **kwargs):
|
||
|
"""
|
||
|
When a VirtualDisk has been modified, update the aggregate disk_size value of its VM.
|
||
|
"""
|
||
|
vm = instance.virtual_machine
|
||
|
VirtualMachine.objects.filter(pk=vm.pk).update(
|
||
|
disk=vm.virtualdisks.aggregate(Sum('size'))['size__sum']
|
||
|
)
|