From b1402f3bae74d4e2fcf45868e5bb83751650fb77 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Fri, 18 Dec 2020 12:18:59 -0500 Subject: [PATCH] Fixes #5498: Fix filtering rack reservations by username --- docs/release-notes/version-2.10.md | 1 + netbox/dcim/filters.py | 2 +- netbox/dcim/tests/test_filters.py | 5 ++--- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/release-notes/version-2.10.md b/docs/release-notes/version-2.10.md index 2534d2403..2d5b4f390 100644 --- a/docs/release-notes/version-2.10.md +++ b/docs/release-notes/version-2.10.md @@ -15,6 +15,7 @@ * [#5484](https://github.com/netbox-community/netbox/issues/5484) - Fix "tagged" indication in VLAN members list * [#5486](https://github.com/netbox-community/netbox/issues/5486) - Optimize retrieval of config context data for device/VM REST API views * [#5487](https://github.com/netbox-community/netbox/issues/5487) - Support filtering rack type/width with multiple values +* [#5498](https://github.com/netbox-community/netbox/issues/5498) - Fix filtering rack reservations by username --- diff --git a/netbox/dcim/filters.py b/netbox/dcim/filters.py index f4e3fa09e..3046a0f33 100644 --- a/netbox/dcim/filters.py +++ b/netbox/dcim/filters.py @@ -302,7 +302,7 @@ class RackReservationFilterSet(BaseFilterSet, TenancyFilterSet): label='User (ID)', ) user = django_filters.ModelMultipleChoiceFilter( - field_name='user', + field_name='user__username', queryset=User.objects.all(), to_field_name='username', label='User (name)', diff --git a/netbox/dcim/tests/test_filters.py b/netbox/dcim/tests/test_filters.py index 724aaf1fa..c701c47cf 100644 --- a/netbox/dcim/tests/test_filters.py +++ b/netbox/dcim/tests/test_filters.py @@ -514,9 +514,8 @@ class RackReservationTestCase(TestCase): users = User.objects.all()[:2] params = {'user_id': [users[0].pk, users[1].pk]} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - # TODO: Filtering by username is broken - # params = {'user': [users[0].username, users[1].username]} - # self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + params = {'user': [users[0].username, users[1].username]} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) def test_tenant(self): tenants = Tenant.objects.all()[:2]