mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-23 04:22:01 -06:00
convert update() calls to save() calls
This commit is contained in:
parent
c54f2e3e40
commit
c359ac5737
@ -10,4 +10,8 @@ def update_circuit(instance, **kwargs):
|
|||||||
"""
|
"""
|
||||||
When a CircuitTermination has been modified, update the last_updated time of its parent Circuit.
|
When a CircuitTermination has been modified, update the last_updated time of its parent Circuit.
|
||||||
"""
|
"""
|
||||||
Circuit.objects.filter(pk=instance.circuit_id).invalidated_update(last_updated=timezone.now())
|
circuits = Circuit.objects.filter(pk=instance.circuit_id)
|
||||||
|
time = timezone.now()
|
||||||
|
for circuit in circuits:
|
||||||
|
circuit.last_updated = time
|
||||||
|
circuit.save()
|
||||||
|
@ -607,7 +607,10 @@ class Rack(ChangeLoggedModel, CustomFieldModel):
|
|||||||
|
|
||||||
# Update racked devices if the assigned Site has been changed.
|
# Update racked devices if the assigned Site has been changed.
|
||||||
if _site_id is not None and self.site_id != _site_id:
|
if _site_id is not None and self.site_id != _site_id:
|
||||||
Device.objects.filter(rack=self).invalidated_update(site_id=self.site.pk)
|
devices = Device.objects.filter(rack=self)
|
||||||
|
for device in devices:
|
||||||
|
device.site = self.site
|
||||||
|
device.save()
|
||||||
|
|
||||||
def to_csv(self):
|
def to_csv(self):
|
||||||
return (
|
return (
|
||||||
@ -1738,7 +1741,11 @@ class Device(ChangeLoggedModel, ConfigContextModel, CustomFieldModel):
|
|||||||
)
|
)
|
||||||
|
|
||||||
# Update Site and Rack assignment for any child Devices
|
# Update Site and Rack assignment for any child Devices
|
||||||
Device.objects.filter(parent_bay__device=self).invalidated_update(site=self.site, rack=self.rack)
|
devices = Device.objects.filter(parent_bay__device=self)
|
||||||
|
for device in devices:
|
||||||
|
device.site = self.site
|
||||||
|
device.rack = self.rack
|
||||||
|
device.save()
|
||||||
|
|
||||||
def to_csv(self):
|
def to_csv(self):
|
||||||
return (
|
return (
|
||||||
|
@ -10,7 +10,11 @@ def assign_virtualchassis_master(instance, created, **kwargs):
|
|||||||
When a VirtualChassis is created, automatically assign its master device to the VC.
|
When a VirtualChassis is created, automatically assign its master device to the VC.
|
||||||
"""
|
"""
|
||||||
if created:
|
if created:
|
||||||
Device.objects.filter(pk=instance.master.pk).invalidated_update(virtual_chassis=instance, vc_position=None)
|
devices = Device.objects.filter(pk=instance.master.pk)
|
||||||
|
for device in devices:
|
||||||
|
device.virtual_chassis = instance
|
||||||
|
device.vc_position = None
|
||||||
|
device.save()
|
||||||
|
|
||||||
|
|
||||||
@receiver(pre_delete, sender=VirtualChassis)
|
@receiver(pre_delete, sender=VirtualChassis)
|
||||||
@ -18,7 +22,11 @@ def clear_virtualchassis_members(instance, **kwargs):
|
|||||||
"""
|
"""
|
||||||
When a VirtualChassis is deleted, nullify the vc_position and vc_priority fields of its prior members.
|
When a VirtualChassis is deleted, nullify the vc_position and vc_priority fields of its prior members.
|
||||||
"""
|
"""
|
||||||
Device.objects.filter(virtual_chassis=instance.pk).invalidated_update(vc_position=None, vc_priority=None)
|
devices = Device.objects.filter(virtual_chassis=instance.pk)
|
||||||
|
for device in devices:
|
||||||
|
device.vc_position = None
|
||||||
|
device.vc_priority = None
|
||||||
|
device.save()
|
||||||
|
|
||||||
|
|
||||||
@receiver(post_save, sender=Cable)
|
@receiver(post_save, sender=Cable)
|
||||||
|
@ -3430,11 +3430,11 @@ class VirtualChassisTest(APITestCase):
|
|||||||
|
|
||||||
# Create two VirtualChassis with three members each
|
# Create two VirtualChassis with three members each
|
||||||
self.vc1 = VirtualChassis.objects.create(master=self.device1, domain='test-domain-1')
|
self.vc1 = VirtualChassis.objects.create(master=self.device1, domain='test-domain-1')
|
||||||
Device.objects.filter(pk=self.device2.pk).invalidated_update(virtual_chassis=self.vc1, vc_position=2)
|
Device.objects.filter(pk=self.device2.pk).update(virtual_chassis=self.vc1, vc_position=2)
|
||||||
Device.objects.filter(pk=self.device3.pk).invalidated_update(virtual_chassis=self.vc1, vc_position=3)
|
Device.objects.filter(pk=self.device3.pk).update(virtual_chassis=self.vc1, vc_position=3)
|
||||||
self.vc2 = VirtualChassis.objects.create(master=self.device4, domain='test-domain-2')
|
self.vc2 = VirtualChassis.objects.create(master=self.device4, domain='test-domain-2')
|
||||||
Device.objects.filter(pk=self.device5.pk).invalidated_update(virtual_chassis=self.vc2, vc_position=2)
|
Device.objects.filter(pk=self.device5.pk).update(virtual_chassis=self.vc2, vc_position=2)
|
||||||
Device.objects.filter(pk=self.device6.pk).invalidated_update(virtual_chassis=self.vc2, vc_position=3)
|
Device.objects.filter(pk=self.device6.pk).update(virtual_chassis=self.vc2, vc_position=3)
|
||||||
|
|
||||||
def test_get_virtualchassis(self):
|
def test_get_virtualchassis(self):
|
||||||
|
|
||||||
|
@ -442,11 +442,11 @@ class VirtualChassisTestCase(TestCase):
|
|||||||
|
|
||||||
# Create three VirtualChassis with two members each
|
# Create three VirtualChassis with two members each
|
||||||
vc1 = VirtualChassis.objects.create(master=device1, domain='test-domain-1')
|
vc1 = VirtualChassis.objects.create(master=device1, domain='test-domain-1')
|
||||||
Device.objects.filter(pk=device2.pk).invalidated_update(virtual_chassis=vc1, vc_position=2)
|
Device.objects.filter(pk=device2.pk).update(virtual_chassis=vc1, vc_position=2)
|
||||||
vc2 = VirtualChassis.objects.create(master=device3, domain='test-domain-2')
|
vc2 = VirtualChassis.objects.create(master=device3, domain='test-domain-2')
|
||||||
Device.objects.filter(pk=device4.pk).invalidated_update(virtual_chassis=vc2, vc_position=2)
|
Device.objects.filter(pk=device4.pk).update(virtual_chassis=vc2, vc_position=2)
|
||||||
vc3 = VirtualChassis.objects.create(master=device5, domain='test-domain-3')
|
vc3 = VirtualChassis.objects.create(master=device5, domain='test-domain-3')
|
||||||
Device.objects.filter(pk=device6.pk).invalidated_update(virtual_chassis=vc3, vc_position=2)
|
Device.objects.filter(pk=device6.pk).update(virtual_chassis=vc3, vc_position=2)
|
||||||
|
|
||||||
def test_virtualchassis_list(self):
|
def test_virtualchassis_list(self):
|
||||||
|
|
||||||
|
@ -2108,7 +2108,10 @@ class VirtualChassisEditView(PermissionRequiredMixin, GetReturnURLMixin, View):
|
|||||||
# Nullify the vc_position of each member first to allow reordering without raising an IntegrityError on
|
# Nullify the vc_position of each member first to allow reordering without raising an IntegrityError on
|
||||||
# duplicate positions. Then save each member instance.
|
# duplicate positions. Then save each member instance.
|
||||||
members = formset.save(commit=False)
|
members = formset.save(commit=False)
|
||||||
Device.objects.filter(pk__in=[m.pk for m in members]).invalidated_update(vc_position=None)
|
devices = Device.objects.filter(pk__in=[m.pk for m in members])
|
||||||
|
for device in devices:
|
||||||
|
device.vc_position = None
|
||||||
|
device.save()
|
||||||
for member in members:
|
for member in members:
|
||||||
member.save()
|
member.save()
|
||||||
|
|
||||||
@ -2209,11 +2212,12 @@ class VirtualChassisRemoveMemberView(PermissionRequiredMixin, GetReturnURLMixin,
|
|||||||
|
|
||||||
if form.is_valid():
|
if form.is_valid():
|
||||||
|
|
||||||
Device.objects.filter(pk=device.pk).invalidated_update(
|
devices = Device.objects.filter(pk=device.pk)
|
||||||
virtual_chassis=None,
|
for device in devices:
|
||||||
vc_position=None,
|
device.virtual_chassis = None
|
||||||
vc_priority=None
|
device.vc_position = None
|
||||||
)
|
device.vc_priority = None
|
||||||
|
device.save()
|
||||||
|
|
||||||
msg = 'Removed {} from virtual chassis {}'.format(device, device.virtual_chassis)
|
msg = 'Removed {} from virtual chassis {}'.format(device, device.virtual_chassis)
|
||||||
messages.success(request, msg)
|
messages.success(request, msg)
|
||||||
|
Loading…
Reference in New Issue
Block a user