Просмотр исходного кода

Fixes #18594: asn_count sort in Sites list (#18634)

* Fixes #18594: asn_count sort in Sites list

* Fixes similar issue in `circuits.views.ProviderListView`

Thanks @bctiemann for point this out!
Jason Novinger 11 месяцев назад
Родитель
Сommit
2a44affd03

+ 0 - 1
netbox/circuits/tables/providers.py

@@ -33,7 +33,6 @@ class ProviderTable(ContactsColumnMixin, NetBoxTable):
         verbose_name=_('ASNs')
     )
     asn_count = columns.LinkedCountColumn(
-        accessor=tables.A('asns__count'),
         viewname='ipam:asn_list',
         url_params={'provider_id': 'pk'},
         verbose_name=_('ASN Count')

+ 3 - 1
netbox/circuits/views.py

@@ -4,6 +4,7 @@ from django.shortcuts import get_object_or_404, redirect, render
 from django.utils.translation import gettext_lazy as _
 
 from dcim.views import PathTraceView
+from ipam.models import ASN
 from netbox.views import generic
 from tenancy.views import ObjectContactsView
 from utilities.forms import ConfirmationForm
@@ -20,7 +21,8 @@ from .models import *
 @register_model_view(Provider, 'list', path='', detail=False)
 class ProviderListView(generic.ObjectListView):
     queryset = Provider.objects.annotate(
-        count_circuits=count_related(Circuit, 'provider')
+        count_circuits=count_related(Circuit, 'provider'),
+        asn_count=count_related(ASN, 'providers'),
     )
     filterset = filtersets.ProviderFilterSet
     filterset_form = forms.ProviderFilterForm

+ 0 - 1
netbox/dcim/tables/sites.py

@@ -94,7 +94,6 @@ class SiteTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable):
         verbose_name=_('ASNs')
     )
     asn_count = columns.LinkedCountColumn(
-        accessor=tables.A('asns__count'),
         viewname='ipam:asn_list',
         url_params={'site_id': 'pk'},
         verbose_name=_('ASN Count')

+ 2 - 1
netbox/dcim/views.py

@@ -422,7 +422,8 @@ class SiteGroupContactsView(ObjectContactsView):
 @register_model_view(Site, 'list', path='', detail=False)
 class SiteListView(generic.ObjectListView):
     queryset = Site.objects.annotate(
-        device_count=count_related(Device, 'site')
+        device_count=count_related(Device, 'site'),
+        asn_count=count_related(ASN, 'sites')
     )
     filterset = filtersets.SiteFilterSet
     filterset_form = forms.SiteFilterForm