From ca1350062202e1fdfcacf72a2822733caca8318f Mon Sep 17 00:00:00 2001 From: Brian Tiemann Date: Sun, 24 Nov 2024 19:44:02 -0500 Subject: [PATCH 1/2] Store default values from custom fields on newly created module components --- netbox/dcim/models/devices.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/netbox/dcim/models/devices.py b/netbox/dcim/models/devices.py index 0f11cb5f30a..4233ba99237 100644 --- a/netbox/dcim/models/devices.py +++ b/netbox/dcim/models/devices.py @@ -1277,6 +1277,11 @@ def save(self, *args, **kwargs): if not disable_replication: create_instances.append(template_instance) + for component in create_instances: + # Set default values for any applicable custom fields + if cf_defaults := CustomField.objects.get_defaults_for_model(component_model): + component.custom_field_data = cf_defaults + if component_model is not ModuleBay: component_model.objects.bulk_create(create_instances) # Emit the post_save signal for each newly created object From 4ddfa436b49735c2597df8b79c121631240c876a Mon Sep 17 00:00:00 2001 From: Brian Tiemann Date: Wed, 11 Dec 2024 08:48:21 -0500 Subject: [PATCH 2/2] Invert if/for lines to avoid repetition --- netbox/dcim/models/devices.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/netbox/dcim/models/devices.py b/netbox/dcim/models/devices.py index 4233ba99237..fe15f9fb473 100644 --- a/netbox/dcim/models/devices.py +++ b/netbox/dcim/models/devices.py @@ -1277,9 +1277,9 @@ def save(self, *args, **kwargs): if not disable_replication: create_instances.append(template_instance) - for component in create_instances: - # Set default values for any applicable custom fields - if cf_defaults := CustomField.objects.get_defaults_for_model(component_model): + # Set default values for any applicable custom fields + if cf_defaults := CustomField.objects.get_defaults_for_model(component_model): + for component in create_instances: component.custom_field_data = cf_defaults if component_model is not ModuleBay: