mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-30 04:16:24 -06:00
Chain Host and Inet instead of making a new transform
This commit is contained in:
parent
1a1156ebf1
commit
66319f9cf0
@ -105,7 +105,8 @@ IPAddressField.register_lookup(lookups.NetIn)
|
||||
IPAddressField.register_lookup(lookups.NetHostContained)
|
||||
IPAddressField.register_lookup(lookups.NetFamily)
|
||||
IPAddressField.register_lookup(lookups.NetMaskLength)
|
||||
IPAddressField.register_lookup(lookups.HostAsInet)
|
||||
IPAddressField.register_lookup(lookups.Host)
|
||||
IPAddressField.register_lookup(lookups.Inet)
|
||||
|
||||
|
||||
class ASNField(models.BigIntegerField):
|
||||
|
@ -177,11 +177,6 @@ class Host(Transform):
|
||||
lookup_name = 'host'
|
||||
|
||||
|
||||
class HostAsInet(Transform):
|
||||
lookup_name = 'host_as_inet'
|
||||
template = 'CAST(HOST( %(expressions)s ) AS INET)'
|
||||
|
||||
|
||||
class Inet(Transform):
|
||||
function = 'INET'
|
||||
lookup_name = 'inet'
|
||||
|
@ -581,9 +581,9 @@ class IPRange(ContactsMixin, PrimaryModel):
|
||||
|
||||
# Check for overlapping ranges
|
||||
overlapping_ranges = IPRange.objects.exclude(pk=self.pk).filter(vrf=self.vrf).filter(
|
||||
Q(start_address__host_as_inet__gte=self.start_address.ip, start_address__host_as_inet__lte=self.end_address.ip) | # Starts inside
|
||||
Q(end_address__host_as_inet__gte=self.start_address.ip, end_address__host_as_inet__lte=self.end_address.ip) | # Ends inside
|
||||
Q(start_address__host_as_inet__lte=self.start_address.ip, end_address__host_as_inet__gte=self.end_address.ip) # Starts & ends outside
|
||||
Q(start_address__host__inet__gte=self.start_address.ip, start_address__host__inet__lte=self.end_address.ip) | # Starts inside
|
||||
Q(end_address__host__inet__gte=self.start_address.ip, end_address__host__inet__lte=self.end_address.ip) | # Ends inside
|
||||
Q(start_address__host__inet__lte=self.start_address.ip, end_address__host__inet__gte=self.end_address.ip) # Starts & ends outside
|
||||
)
|
||||
if overlapping_ranges.exists():
|
||||
raise ValidationError(
|
||||
|
Loading…
Reference in New Issue
Block a user