mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-28 10:16:10 -06:00
Implement contains filter for IPAM prefixes
This commit is contained in:
parent
bb83187505
commit
0827198cad
@ -238,6 +238,15 @@ class PrefixFilter(ContactFilterMixin, ScopedFilterMixin, TenancyFilterMixin, Pr
|
|||||||
is_pool: FilterLookup[bool] | None = strawberry_django.filter_field()
|
is_pool: FilterLookup[bool] | None = strawberry_django.filter_field()
|
||||||
mark_utilized: FilterLookup[bool] | None = strawberry_django.filter_field()
|
mark_utilized: FilterLookup[bool] | None = strawberry_django.filter_field()
|
||||||
|
|
||||||
|
@strawberry_django.filter_field()
|
||||||
|
def contains(self, value: list[str], prefix) -> Q:
|
||||||
|
if not value:
|
||||||
|
return Q()
|
||||||
|
q = Q()
|
||||||
|
for subnet in value:
|
||||||
|
query = str(netaddr.IPNetwork(subnet.strip()).cidr)
|
||||||
|
q |= Q(prefix__net_contains=query)
|
||||||
|
return q
|
||||||
|
|
||||||
@strawberry_django.filter_type(models.RIR, lookups=True)
|
@strawberry_django.filter_type(models.RIR, lookups=True)
|
||||||
class RIRFilter(OrganizationalModelFilterMixin):
|
class RIRFilter(OrganizationalModelFilterMixin):
|
||||||
|
Loading…
Reference in New Issue
Block a user