From f0fc93d827ac90d771d00b6d619791765e15d474 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Wed, 15 Apr 2026 13:45:26 -0400 Subject: [PATCH] Fixes #21683: Fix support for importing port mappings on device/module types (#21921) --- netbox/dcim/forms/object_import.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/netbox/dcim/forms/object_import.py b/netbox/dcim/forms/object_import.py index 3b6a6e648..38ca11d01 100644 --- a/netbox/dcim/forms/object_import.py +++ b/netbox/dcim/forms/object_import.py @@ -150,9 +150,25 @@ class PortTemplateMappingImportForm(forms.ModelForm): class Meta: model = PortTemplateMapping fields = [ - 'front_port', 'front_port_position', 'rear_port', 'rear_port_position', + 'device_type', 'module_type', 'front_port', 'front_port_position', 'rear_port', 'rear_port_position', ] + def clean_device_type(self): + if device_type := self.cleaned_data['device_type']: + front_port = self.fields['front_port'] + rear_port = self.fields['rear_port'] + front_port.queryset = front_port.queryset.filter(device_type=device_type) + rear_port.queryset = rear_port.queryset.filter(device_type=device_type) + return device_type + + def clean_module_type(self): + if module_type := self.cleaned_data['module_type']: + front_port = self.fields['front_port'] + rear_port = self.fields['rear_port'] + front_port.queryset = front_port.queryset.filter(module_type=module_type) + rear_port.queryset = rear_port.queryset.filter(module_type=module_type) + return module_type + class ModuleBayTemplateImportForm(forms.ModelForm):