mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-18 13:06:30 -06:00
Add LTE and GTE filters for prefix mask length
This commit is contained in:
parent
0d68d0c059
commit
e8df9be702
@ -144,8 +144,16 @@ class PrefixFilterSet(BaseFilterSet, TenancyFilterSet, CustomFieldFilterSet, Cre
|
|||||||
label='Prefixes which contain this prefix or IP',
|
label='Prefixes which contain this prefix or IP',
|
||||||
)
|
)
|
||||||
mask_length = django_filters.NumberFilter(
|
mask_length = django_filters.NumberFilter(
|
||||||
method='filter_mask_length',
|
field_name='prefix',
|
||||||
label='Mask length',
|
lookup_expr='net_mask_length'
|
||||||
|
)
|
||||||
|
mask_length__gte = django_filters.NumberFilter(
|
||||||
|
field_name='prefix',
|
||||||
|
lookup_expr='net_mask_length__gte'
|
||||||
|
)
|
||||||
|
mask_length__lte = django_filters.NumberFilter(
|
||||||
|
field_name='prefix',
|
||||||
|
lookup_expr='net_mask_length__lte'
|
||||||
)
|
)
|
||||||
vrf_id = django_filters.ModelMultipleChoiceFilter(
|
vrf_id = django_filters.ModelMultipleChoiceFilter(
|
||||||
queryset=VRF.objects.all(),
|
queryset=VRF.objects.all(),
|
||||||
@ -262,11 +270,6 @@ class PrefixFilterSet(BaseFilterSet, TenancyFilterSet, CustomFieldFilterSet, Cre
|
|||||||
except (AddrFormatError, ValueError):
|
except (AddrFormatError, ValueError):
|
||||||
return queryset.none()
|
return queryset.none()
|
||||||
|
|
||||||
def filter_mask_length(self, queryset, name, value):
|
|
||||||
if not value:
|
|
||||||
return queryset
|
|
||||||
return queryset.filter(prefix__net_mask_length=value)
|
|
||||||
|
|
||||||
|
|
||||||
class IPAddressFilterSet(BaseFilterSet, TenancyFilterSet, CustomFieldFilterSet, CreatedUpdatedFilterSet):
|
class IPAddressFilterSet(BaseFilterSet, TenancyFilterSet, CustomFieldFilterSet, CreatedUpdatedFilterSet):
|
||||||
q = django_filters.CharFilter(
|
q = django_filters.CharFilter(
|
||||||
|
Loading…
Reference in New Issue
Block a user