diff --git a/netbox/dcim/filtersets.py b/netbox/dcim/filtersets.py index 06b697502..f166a23de 100644 --- a/netbox/dcim/filtersets.py +++ b/netbox/dcim/filtersets.py @@ -131,17 +131,11 @@ class SiteFilterSet(PrimaryModelFilterSet, TenancyFilterSet): to_field_name='slug', label='Group (slug)', ) - asns_id = django_filters.ModelMultipleChoiceFilter( + asn_id = django_filters.ModelMultipleChoiceFilter( field_name='asns', queryset=ASN.objects.all(), label='AS (ID)', ) - asns = django_filters.ModelMultipleChoiceFilter( - field_name='asns__asn', - queryset=ASN.objects.all(), - to_field_name='asn', - label='AS (Number)', - ) tag = TagFilter() class Meta: diff --git a/netbox/dcim/tests/test_filtersets.py b/netbox/dcim/tests/test_filtersets.py index 0cbd892f5..0f3b994a2 100644 --- a/netbox/dcim/tests/test_filtersets.py +++ b/netbox/dcim/tests/test_filtersets.py @@ -142,29 +142,23 @@ class SiteTestCase(TestCase, ChangeLoggedFilterSetTests): ) Tenant.objects.bulk_create(tenants) + rir = RIR.objects.create(name='RFC 6996', is_private=True) + asns = ( + ASN(asn=64512, rir=rir, tenant=tenants[0]), + ASN(asn=64513, rir=rir, tenant=tenants[0]), + ASN(asn=64514, rir=rir, tenant=tenants[0]), + ) + ASN.objects.bulk_create(asns) + sites = ( Site(name='Site 1', slug='site-1', region=regions[0], group=groups[0], tenant=tenants[0], status=SiteStatusChoices.STATUS_ACTIVE, facility='Facility 1', asn=65001, latitude=10, longitude=10, contact_name='Contact 1', contact_phone='123-555-0001', contact_email='contact1@example.com'), Site(name='Site 2', slug='site-2', region=regions[1], group=groups[1], tenant=tenants[1], status=SiteStatusChoices.STATUS_PLANNED, facility='Facility 2', asn=65002, latitude=20, longitude=20, contact_name='Contact 2', contact_phone='123-555-0002', contact_email='contact2@example.com'), Site(name='Site 3', slug='site-3', region=regions[2], group=groups[2], tenant=tenants[2], status=SiteStatusChoices.STATUS_RETIRED, facility='Facility 3', asn=65003, latitude=30, longitude=30, contact_name='Contact 3', contact_phone='123-555-0003', contact_email='contact3@example.com'), ) Site.objects.bulk_create(sites) - - rir = RIR.objects.create(name='RFC 6996', is_private=True) - - asns = ( - ASN(asn=64512, rir=rir, tenant=tenants[0]), - ASN(asn=64513, rir=rir, tenant=tenants[0]), - ASN(asn=64514, rir=rir, tenant=tenants[0]), - ASN(asn=65001, rir=rir, tenant=tenants[0]), - ASN(asn=65002, rir=rir, tenant=tenants[0]) - ) - ASN.objects.bulk_create(asns) - - asns[0].sites.set([sites[0]]) - asns[1].sites.set([sites[1]]) - asns[2].sites.set([sites[2]]) - asns[3].sites.set([sites[2]]) - asns[4].sites.set([sites[1]]) + sites[0].asns.set([asns[0]]) + sites[1].asns.set([asns[1]]) + sites[2].asns.set([asns[2]]) def test_name(self): params = {'name': ['Site 1', 'Site 2']} @@ -182,8 +176,9 @@ class SiteTestCase(TestCase, ChangeLoggedFilterSetTests): params = {'asn': [65001, 65002]} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_asns(self): - params = {'asns': [64512, 65002]} + def test_asn_id(self): + asns = ASN.objects.all()[:2] + params = {'asn_id': [asns[0].pk, asns[1].pk]} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) def test_latitude(self):