fix ?address= filter to ignore results which specify a larger prefix

This commit is contained in:
Marek Isalski 2018-06-25 16:40:43 +02:00 committed by GitHub
parent 111df916ff
commit 5ab1be5e83
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -313,7 +313,7 @@ class IPAddressFilter(CustomFieldFilterSet, django_filters.FilterSet):
return queryset return queryset
try: try:
query = str(netaddr.IPNetwork(value.strip()).ip) query = str(netaddr.IPNetwork(value.strip()).ip)
return queryset.filter(address=query) return queryset.filter(address__net_contains_or_equals=query, address__startswith=query + "/")
except (AddrFormatError, ValueError): except (AddrFormatError, ValueError):
return queryset.none() return queryset.none()