|
@@ -309,6 +309,10 @@ class IPAddressFilter(TenancyFilterSet, CustomFieldFilterSet, CreatedUpdatedFilt
|
|
|
queryset=Interface.objects.all(),
|
|
queryset=Interface.objects.all(),
|
|
|
label='Interface (ID)',
|
|
label='Interface (ID)',
|
|
|
)
|
|
)
|
|
|
|
|
+ assigned_to_interface = django_filters.BooleanFilter(
|
|
|
|
|
+ method='_assigned_to_interface',
|
|
|
|
|
+ label='Is assigned to an interface',
|
|
|
|
|
+ )
|
|
|
status = django_filters.MultipleChoiceFilter(
|
|
status = django_filters.MultipleChoiceFilter(
|
|
|
choices=IPADDRESS_STATUS_CHOICES,
|
|
choices=IPADDRESS_STATUS_CHOICES,
|
|
|
null_value=None
|
|
null_value=None
|
|
@@ -366,6 +370,9 @@ class IPAddressFilter(TenancyFilterSet, CustomFieldFilterSet, CreatedUpdatedFilt
|
|
|
except Device.DoesNotExist:
|
|
except Device.DoesNotExist:
|
|
|
return queryset.none()
|
|
return queryset.none()
|
|
|
|
|
|
|
|
|
|
+ def _assigned_to_interface(self, queryset, name, value):
|
|
|
|
|
+ return queryset.exclude(interface__isnull=value)
|
|
|
|
|
+
|
|
|
|
|
|
|
|
class VLANGroupFilter(NameSlugSearchFilterSet):
|
|
class VLANGroupFilter(NameSlugSearchFilterSet):
|
|
|
site_id = django_filters.ModelMultipleChoiceFilter(
|
|
site_id = django_filters.ModelMultipleChoiceFilter(
|