diff --git a/netbox/dcim/filtersets.py b/netbox/dcim/filtersets.py index f72a1047e..5d92af878 100644 --- a/netbox/dcim/filtersets.py +++ b/netbox/dcim/filtersets.py @@ -1084,6 +1084,11 @@ class DeviceComponentFilterSet(django_filters.FilterSet): to_field_name='slug', label='Location (slug)', ) + rack_id = django_filters.ModelMultipleChoiceFilter( + field_name='device__rack', + queryset=Rack.objects.all(), + label='Rack (ID)', + ) rack = django_filters.ModelMultipleChoiceFilter( field_name='device__rack__name', queryset=Rack.objects.all(), diff --git a/netbox/dcim/forms/filtersets.py b/netbox/dcim/forms/filtersets.py index c4356b7c2..173ea5d1e 100644 --- a/netbox/dcim/forms/filtersets.py +++ b/netbox/dcim/forms/filtersets.py @@ -90,6 +90,10 @@ class DeviceComponentFilterForm(NetBoxModelFilterSetForm): rack_id = DynamicModelMultipleChoiceField( queryset=Rack.objects.all(), required=False, + query_params={ + 'site_id': '$site_id', + 'location_id': '$location_id', + }, label=_('Rack') ) virtual_chassis_id = DynamicModelMultipleChoiceField(