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

Add a Devices column with device_count hyperlink (via count_related) to SiteListView

Brian Tiemann 1 год назад
Родитель
Сommit
5bd4fc862d
2 измененных файлов с 8 добавлено и 1 удалено
  1. 5 0
      netbox/dcim/tables/sites.py
  2. 3 1
      netbox/dcim/views.py

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

@@ -99,6 +99,11 @@ class SiteTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable):
         url_params={'site_id': 'pk'},
         verbose_name=_('ASN Count')
     )
+    device_count = columns.LinkedCountColumn(
+        viewname='dcim:device_list',
+        url_params={'site_id': 'pk'},
+        verbose_name=_('Devices')
+    )
     comments = columns.MarkdownColumn(
         verbose_name=_('Comments'),
     )

+ 3 - 1
netbox/dcim/views.py

@@ -380,7 +380,9 @@ class SiteGroupContactsView(ObjectContactsView):
 #
 
 class SiteListView(generic.ObjectListView):
-    queryset = Site.objects.all()
+    queryset = Site.objects.annotate(
+        device_count=count_related(Device, 'site')
+    )
     filterset = filtersets.SiteFilterSet
     filterset_form = forms.SiteFilterForm
     table = tables.SiteTable