diff --git a/netbox/ipam/models.py b/netbox/ipam/models.py index a04e4b9ce..51807d0fa 100644 --- a/netbox/ipam/models.py +++ b/netbox/ipam/models.py @@ -267,7 +267,7 @@ class PrefixQuerySet(NullsFirstQuerySet): p.depth = len(stack) - 1 if limit is None: return queryset - return filter(lambda p: p.depth <= limit, queryset) + return list(filter(lambda p: p.depth <= limit, queryset)) @python_2_unicode_compatible diff --git a/netbox/ipam/views.py b/netbox/ipam/views.py index 6d2025944..bcbb80e8b 100644 --- a/netbox/ipam/views.py +++ b/netbox/ipam/views.py @@ -420,13 +420,7 @@ def prefix(request, pk): duplicate_prefix_table.exclude = ('vrf',) # Child prefixes table - if prefix.vrf: - # If the prefix is in a VRF, show child prefixes only within that VRF. - child_prefixes = Prefix.objects.filter(vrf=prefix.vrf) - else: - # If the prefix is in the global table, show child prefixes from all VRFs. - child_prefixes = Prefix.objects.all() - child_prefixes = child_prefixes.filter(prefix__net_contained=str(prefix.prefix))\ + child_prefixes = Prefix.objects.filter(vrf=prefix.vrf, prefix__net_contained=str(prefix.prefix))\ .select_related('site', 'role').annotate_depth(limit=0) if child_prefixes: child_prefixes = add_available_prefixes(prefix.prefix, child_prefixes)