cleanup
Some checks failed
CI / build (20.x, 3.10) (push) Has been cancelled
CI / build (20.x, 3.11) (push) Has been cancelled
CI / build (20.x, 3.12) (push) Has been cancelled

This commit is contained in:
Arthur
2025-12-12 09:24:39 -08:00
parent 7ad3e9daf3
commit e47eea9bf4
4 changed files with 2 additions and 39 deletions

View File

@@ -957,8 +957,7 @@ class Device(
if cf_defaults := CustomField.objects.get_defaults_for_model(model):
for component in components:
component.custom_field_data = cf_defaults
# Set denormalized references (_site, _location, _rack) before bulk_create
# since bulk_create bypasses the save() method
# Set denormalized references
for component in components:
component._site = self.site
component._location = self.location

View File

@@ -315,8 +315,7 @@ class Module(PrimaryModel, ConfigContextModel):
for component in create_instances:
component.custom_field_data = cf_defaults
# Set denormalized references (_site, _location, _rack) before bulk_create
# since bulk_create bypasses the save() method
# Set denormalized references
for component in create_instances:
component._site = self.device.site
component._location = self.device.location

View File

@@ -45,7 +45,6 @@ def handle_location_site_change(instance, created, **kwargs):
PowerPanel.objects.filter(location__in=locations).update(site=instance.site)
CableTermination.objects.filter(_location__in=locations).update(_site=instance.site)
# Update component models for devices in these locations
# (since Device.objects.update() doesn't trigger post_save signals)
for model in COMPONENT_MODELS:
model.objects.filter(device__location__in=locations).update(_site=instance.site)
@@ -58,7 +57,6 @@ def handle_rack_site_change(instance, created, **kwargs):
if not created:
Device.objects.filter(rack=instance).update(site=instance.site, location=instance.location)
# Update component models for devices in this rack
# (since Device.objects.update() doesn't trigger post_save signals)
for model in COMPONENT_MODELS:
model.objects.filter(device__rack=instance).update(
_site=instance.site,

View File

@@ -76,36 +76,3 @@ def update_interface_bridges(device, interface_templates, module=None):
)
interface.full_clean()
interface.save()
def update_device_components(device):
"""
Update denormalized fields (_site, _location, _rack) for all component models
associated with the specified device.
:param device: Device instance whose components should be updated
"""
from dcim.models import (
ConsolePort, ConsoleServerPort, DeviceBay, FrontPort, Interface,
InventoryItem, ModuleBay, PowerOutlet, PowerPort, RearPort,
)
COMPONENT_MODELS = (
ConsolePort,
ConsoleServerPort,
DeviceBay,
FrontPort,
Interface,
InventoryItem,
ModuleBay,
PowerOutlet,
PowerPort,
RearPort,
)
for model in COMPONENT_MODELS:
model.objects.filter(device=device).update(
_site=device.site,
_location=device.location,
_rack=device.rack,
)