diff --git a/netbox/dcim/filtersets.py b/netbox/dcim/filtersets.py index 0848966e8..6d386f3cf 100644 --- a/netbox/dcim/filtersets.py +++ b/netbox/dcim/filtersets.py @@ -1389,12 +1389,12 @@ class DeviceComponentFilterSet(django_filters.FilterSet): to_field_name='model', label=_('Device type (model)'), ) - role_id = django_filters.ModelMultipleChoiceFilter( + device_role_id = django_filters.ModelMultipleChoiceFilter( field_name='device__role', queryset=DeviceRole.objects.all(), label=_('Device role (ID)'), ) - role = django_filters.ModelMultipleChoiceFilter( + device_role = django_filters.ModelMultipleChoiceFilter( field_name='device__role__slug', queryset=DeviceRole.objects.all(), to_field_name='slug', diff --git a/netbox/dcim/tests/test_filtersets.py b/netbox/dcim/tests/test_filtersets.py index d08e2707f..b78092234 100644 --- a/netbox/dcim/tests/test_filtersets.py +++ b/netbox/dcim/tests/test_filtersets.py @@ -32,11 +32,11 @@ class DeviceComponentFilterSetTests: params = {'device_type': [device_types[0].model, device_types[1].model]} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_role(self): + def test_device_role(self): role = DeviceRole.objects.all()[:2] - params = {'role_id': [role[0].pk, role[1].pk]} + params = {'device_role_id': [role[0].pk, role[1].pk]} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - params = {'role': [role[0].slug, role[1].slug]} + params = {'device_role': [role[0].slug, role[1].slug]} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) @@ -4547,6 +4547,13 @@ class InventoryItemTestCase(TestCase, ChangeLoggedFilterSetTests): params = {'device_type': [device_types[0].model, device_types[1].model]} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4) + def test_device_role(self): + role = DeviceRole.objects.all()[:2] + params = {'device_role_id': [role[0].pk, role[1].pk]} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4) + params = {'device_role': [role[0].slug, role[1].slug]} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4) + def test_role(self): role = DeviceRole.objects.all()[:2] params = {'role_id': [role[0].pk, role[1].pk]}