1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Fixes #4617: Restore IP prefix depth notation in list view

This commit is contained in:
Jeremy Stretch
2020-05-13 17:08:48 -04:00
parent 07fd92cd4c
commit e0ebb8e7d8
3 changed files with 10 additions and 2 deletions

View File

@ -12,6 +12,7 @@ v2.8.4 (FUTURE)
* [#4604](https://github.com/netbox-community/netbox/issues/4604) - Multi-position rear ports may only be connected to other rear ports * [#4604](https://github.com/netbox-community/netbox/issues/4604) - Multi-position rear ports may only be connected to other rear ports
* [#4607](https://github.com/netbox-community/netbox/issues/4607) - Missing Contextual help for API Tokens * [#4607](https://github.com/netbox-community/netbox/issues/4607) - Missing Contextual help for API Tokens
* [#4613](https://github.com/netbox-community/netbox/issues/4613) - Fix tag assignment on config contexts (regression from #4527) * [#4613](https://github.com/netbox-community/netbox/issues/4613) - Fix tag assignment on config contexts (regression from #4527)
* [#4617](https://github.com/netbox-community/netbox/issues/4617) - Restore IP prefix depth notation in list view
* [#4629](https://github.com/netbox-community/netbox/issues/4629) - Replicate assigned interface when cloning IP addresses * [#4629](https://github.com/netbox-community/netbox/issues/4629) - Replicate assigned interface when cloning IP addresses
* [#4633](https://github.com/netbox-community/netbox/issues/4633) - Bump django-rq to v2.3.2 to fix ImportError with rq 1.4.0 * [#4633](https://github.com/netbox-community/netbox/issues/4633) - Bump django-rq to v2.3.2 to fix ImportError with rq 1.4.0
* [#4634](https://github.com/netbox-community/netbox/issues/4634) - Inventory Item List view exception caused by incorrect accessor definition * [#4634](https://github.com/netbox-community/netbox/issues/4634) - Inventory Item List view exception caused by incorrect accessor definition

View File

@ -378,6 +378,8 @@ class PrefixTable(BaseTable):
verbose_name='Pool' verbose_name='Pool'
) )
add_prefetch = False
class Meta(BaseTable.Meta): class Meta(BaseTable.Meta):
model = Prefix model = Prefix
fields = ('pk', 'prefix', 'status', 'vrf', 'tenant', 'site', 'vlan', 'role', 'is_pool', 'description') fields = ('pk', 'prefix', 'status', 'vrf', 'tenant', 'site', 'vlan', 'role', 'is_pool', 'description')

View File

@ -1,6 +1,5 @@
import django_tables2 as tables import django_tables2 as tables
from django.core.exceptions import FieldDoesNotExist from django.core.exceptions import FieldDoesNotExist
from django.db.models import ForeignKey
from django.db.models.fields.related import RelatedField from django.db.models.fields.related import RelatedField
from django.utils.safestring import mark_safe from django.utils.safestring import mark_safe
from django_tables2.data import TableQuerysetData from django_tables2.data import TableQuerysetData
@ -9,7 +8,13 @@ from django_tables2.data import TableQuerysetData
class BaseTable(tables.Table): class BaseTable(tables.Table):
""" """
Default table for object lists Default table for object lists
:param add_prefetch: By default, modify the queryset passed to the table upon initialization to automatically
prefetch related data. Set this to False if it's necessary to avoid modifying the queryset (e.g. to
accommodate PrefixQuerySet.annotate_depth()).
""" """
add_prefetch = True
class Meta: class Meta:
attrs = { attrs = {
'class': 'table table-hover table-headings', 'class': 'table table-hover table-headings',
@ -50,7 +55,7 @@ class BaseTable(tables.Table):
self.sequence.append('actions') self.sequence.append('actions')
# Dynamically update the table's QuerySet to ensure related fields are pre-fetched # Dynamically update the table's QuerySet to ensure related fields are pre-fetched
if isinstance(self.data, TableQuerysetData): if self.add_prefetch and isinstance(self.data, TableQuerysetData):
model = getattr(self.Meta, 'model') model = getattr(self.Meta, 'model')
prefetch_fields = [] prefetch_fields = []
for column in self.columns: for column in self.columns: