Fixes #943: Child prefixes missing on Python 3

This commit is contained in:
Jeremy Stretch 2017-03-08 14:10:27 -05:00
parent 086340540a
commit d89314a559
2 changed files with 2 additions and 8 deletions

View File

@ -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

View File

@ -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)