mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-27 02:48:38 -06:00
Add primary ip filters by address
This commit is contained in:
parent
ab0a1f0bbc
commit
87b9c2efc9
@ -1193,8 +1193,20 @@ class PrimaryIPFilterSet(django_filters.FilterSet):
|
|||||||
queryset=IPAddress.objects.all(),
|
queryset=IPAddress.objects.all(),
|
||||||
label=_('Primary IPv4 (ID)'),
|
label=_('Primary IPv4 (ID)'),
|
||||||
)
|
)
|
||||||
|
primary_ip4 = django_filters.ModelMultipleChoiceFilter(
|
||||||
|
field_name='primary_ip4__address',
|
||||||
|
queryset=IPAddress.objects.all(),
|
||||||
|
to_field_name='address',
|
||||||
|
label=_('Primary IPv4 (address)'),
|
||||||
|
)
|
||||||
primary_ip6_id = django_filters.ModelMultipleChoiceFilter(
|
primary_ip6_id = django_filters.ModelMultipleChoiceFilter(
|
||||||
field_name='primary_ip6',
|
field_name='primary_ip6',
|
||||||
queryset=IPAddress.objects.all(),
|
queryset=IPAddress.objects.all(),
|
||||||
label=_('Primary IPv6 (ID)'),
|
label=_('Primary IPv6 (ID)'),
|
||||||
)
|
)
|
||||||
|
primary_ip6 = django_filters.ModelMultipleChoiceFilter(
|
||||||
|
field_name='primary_ip6__address',
|
||||||
|
queryset=IPAddress.objects.all(),
|
||||||
|
to_field_name='address',
|
||||||
|
label=_('Primary IPv6 (address)'),
|
||||||
|
)
|
||||||
|
@ -525,15 +525,23 @@ class VirtualMachineTestCase(TestCase, ChangeLoggedFilterSetTests):
|
|||||||
addresses = IPAddress.objects.filter(address__family=4)
|
addresses = IPAddress.objects.filter(address__family=4)
|
||||||
params = {'primary_ip4_id': [addresses[0].pk, addresses[1].pk]}
|
params = {'primary_ip4_id': [addresses[0].pk, addresses[1].pk]}
|
||||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||||
|
params = {'primary_ip4': [str(addresses[0].address), str(addresses[1].address)]}
|
||||||
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||||
params = {'primary_ip4_id': [addresses[2].pk]}
|
params = {'primary_ip4_id': [addresses[2].pk]}
|
||||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 0)
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 0)
|
||||||
|
params = {'primary_ip4': [str(addresses[2].address)]}
|
||||||
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 0)
|
||||||
|
|
||||||
def test_primary_ip6(self):
|
def test_primary_ip6(self):
|
||||||
addresses = IPAddress.objects.filter(address__family=6)
|
addresses = IPAddress.objects.filter(address__family=6)
|
||||||
params = {'primary_ip6_id': [addresses[0].pk, addresses[1].pk]}
|
params = {'primary_ip6_id': [addresses[0].pk, addresses[1].pk]}
|
||||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||||
|
params = {'primary_ip6': [str(addresses[0].address), str(addresses[1].address)]}
|
||||||
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||||
params = {'primary_ip6_id': [addresses[2].pk]}
|
params = {'primary_ip6_id': [addresses[2].pk]}
|
||||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 0)
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 0)
|
||||||
|
params = {'primary_ip6': [str(addresses[2].address)]}
|
||||||
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 0)
|
||||||
|
|
||||||
def test_serial_number(self):
|
def test_serial_number(self):
|
||||||
params = {'serial': ['111-aaa', '222-bbb']}
|
params = {'serial': ['111-aaa', '222-bbb']}
|
||||||
|
Loading…
Reference in New Issue
Block a user