Skip to content

Commit 5019a67

Browse files
Alef-Burzmalijeremystretch
authored andcommitted
Fixes 16536 - Fix filtering of device component by device role (#16553)
* Fixes 16536 - Fix filtering of device component by device role Rename role and role_id fields to device_role and device_role_id in DeviceComponentFilterSet * Update tests for DeviceComponentFilterSet * Use device_role filter name for DeviceComponentFilterSetTests * Add test_device_role test in InventoryItemTestCase
1 parent 95347cf commit 5019a67

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

netbox/dcim/filtersets.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1389,12 +1389,12 @@ class DeviceComponentFilterSet(django_filters.FilterSet):
13891389
to_field_name='model',
13901390
label=_('Device type (model)'),
13911391
)
1392-
role_id = django_filters.ModelMultipleChoiceFilter(
1392+
device_role_id = django_filters.ModelMultipleChoiceFilter(
13931393
field_name='device__role',
13941394
queryset=DeviceRole.objects.all(),
13951395
label=_('Device role (ID)'),
13961396
)
1397-
role = django_filters.ModelMultipleChoiceFilter(
1397+
device_role = django_filters.ModelMultipleChoiceFilter(
13981398
field_name='device__role__slug',
13991399
queryset=DeviceRole.objects.all(),
14001400
to_field_name='slug',

netbox/dcim/tests/test_filtersets.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,11 @@ def test_device_type(self):
3232
params = {'device_type': [device_types[0].model, device_types[1].model]}
3333
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
3434

35-
def test_role(self):
35+
def test_device_role(self):
3636
role = DeviceRole.objects.all()[:2]
37-
params = {'role_id': [role[0].pk, role[1].pk]}
37+
params = {'device_role_id': [role[0].pk, role[1].pk]}
3838
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
39-
params = {'role': [role[0].slug, role[1].slug]}
39+
params = {'device_role': [role[0].slug, role[1].slug]}
4040
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
4141

4242

@@ -4547,6 +4547,13 @@ def test_device_type(self):
45474547
params = {'device_type': [device_types[0].model, device_types[1].model]}
45484548
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4)
45494549

4550+
def test_device_role(self):
4551+
role = DeviceRole.objects.all()[:2]
4552+
params = {'device_role_id': [role[0].pk, role[1].pk]}
4553+
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4)
4554+
params = {'device_role': [role[0].slug, role[1].slug]}
4555+
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4)
4556+
45504557
def test_role(self):
45514558
role = DeviceRole.objects.all()[:2]
45524559
params = {'role_id': [role[0].pk, role[1].pk]}

0 commit comments

Comments
 (0)