|
4 | 4 |
|
5 | 5 | from extras.filtersets import LocalConfigContextFilterSet |
6 | 6 | from extras.models import ConfigTemplate |
| 7 | +from ipam.filtersets import PrimaryIPFilterSet |
7 | 8 | from ipam.models import ASN, L2VPN, IPAddress, VRF |
8 | 9 | from netbox.filtersets import ( |
9 | 10 | BaseFilterSet, ChangeLoggedModelFilterSet, OrganizationalModelFilterSet, NetBoxModelFilterSet, |
@@ -817,7 +818,13 @@ class Meta: |
817 | 818 | fields = ['id', 'name', 'slug', 'description'] |
818 | 819 |
|
819 | 820 |
|
820 | | -class DeviceFilterSet(NetBoxModelFilterSet, TenancyFilterSet, ContactModelFilterSet, LocalConfigContextFilterSet): |
| 821 | +class DeviceFilterSet( |
| 822 | + NetBoxModelFilterSet, |
| 823 | + TenancyFilterSet, |
| 824 | + ContactModelFilterSet, |
| 825 | + LocalConfigContextFilterSet, |
| 826 | + PrimaryIPFilterSet, |
| 827 | +): |
821 | 828 | manufacturer_id = django_filters.ModelMultipleChoiceFilter( |
822 | 829 | field_name='device_type__manufacturer', |
823 | 830 | queryset=Manufacturer.objects.all(), |
@@ -993,16 +1000,6 @@ class DeviceFilterSet(NetBoxModelFilterSet, TenancyFilterSet, ContactModelFilter |
993 | 1000 | method='_device_bays', |
994 | 1001 | label=_('Has device bays'), |
995 | 1002 | ) |
996 | | - primary_ip4_id = django_filters.ModelMultipleChoiceFilter( |
997 | | - field_name='primary_ip4', |
998 | | - queryset=IPAddress.objects.all(), |
999 | | - label=_('Primary IPv4 (ID)'), |
1000 | | - ) |
1001 | | - primary_ip6_id = django_filters.ModelMultipleChoiceFilter( |
1002 | | - field_name='primary_ip6', |
1003 | | - queryset=IPAddress.objects.all(), |
1004 | | - label=_('Primary IPv6 (ID)'), |
1005 | | - ) |
1006 | 1003 | oob_ip_id = django_filters.ModelMultipleChoiceFilter( |
1007 | 1004 | field_name='oob_ip', |
1008 | 1005 | queryset=IPAddress.objects.all(), |
@@ -1069,7 +1066,7 @@ def _device_bays(self, queryset, name, value): |
1069 | 1066 | return queryset.exclude(devicebays__isnull=value) |
1070 | 1067 |
|
1071 | 1068 |
|
1072 | | -class VirtualDeviceContextFilterSet(NetBoxModelFilterSet, TenancyFilterSet): |
| 1069 | +class VirtualDeviceContextFilterSet(NetBoxModelFilterSet, TenancyFilterSet, PrimaryIPFilterSet): |
1073 | 1070 | device_id = django_filters.ModelMultipleChoiceFilter( |
1074 | 1071 | field_name='device', |
1075 | 1072 | queryset=Device.objects.all(), |
|
0 commit comments