diff --git a/netbox/dcim/forms.py b/netbox/dcim/forms.py index 429e1d7aa..09ea6af8c 100644 --- a/netbox/dcim/forms.py +++ b/netbox/dcim/forms.py @@ -1400,7 +1400,7 @@ class InterfaceConnectionForm(BootstrapMixin, ChainedFieldsMixin, forms.ModelFor ) rack_b = ChainedModelChoiceField( queryset=Rack.objects.all(), - chains = {'site': 'site_b'}, + chains={'site': 'site_b'}, label='Rack', required=False, widget=APISelect( @@ -1410,7 +1410,7 @@ class InterfaceConnectionForm(BootstrapMixin, ChainedFieldsMixin, forms.ModelFor ) device_b = ChainedModelChoiceField( queryset=Device.objects.all(), - chains = {'site': 'site_b', 'rack': 'rack_b'}, + chains={'site': 'site_b', 'rack': 'rack_b'}, label='Device', required=False, widget=APISelect( @@ -1432,7 +1432,7 @@ class InterfaceConnectionForm(BootstrapMixin, ChainedFieldsMixin, forms.ModelFor queryset=Interface.objects.exclude(form_factor__in=VIRTUAL_IFACE_TYPES).select_related( 'circuit_termination', 'connected_as_a', 'connected_as_b' ), - chains = {'device': 'device_b'}, + chains={'device': 'device_b'}, label='Interface', widget=APISelect( api_url='/api/dcim/interfaces/?device_id={{device_b}}&type=physical', diff --git a/netbox/utilities/forms.py b/netbox/utilities/forms.py index a4aeae2df..8afe8b58e 100644 --- a/netbox/utilities/forms.py +++ b/netbox/utilities/forms.py @@ -335,14 +335,14 @@ class ChainedModelChoiceField(forms.ModelChoiceField): """ A ModelChoiceField which is initialized based on the values of other fields within a form. `chains` is a dictionary mapping of model fields to peer fields within the form. For example: - + country1 = forms.ModelChoiceField(queryset=Country.objects.all()) city1 = ChainedModelChoiceField(queryset=City.objects.all(), chains={'country': 'country1'} - + The queryset of the `city1` field will be modified as - + .filter(country=) - + where is the value of the `country1` field. (Note: The form must inherit from ChainedFieldsMixin.) """ def __init__(self, chains=None, *args, **kwargs):