diff --git a/netbox/dcim/tables/sites.py b/netbox/dcim/tables/sites.py index e179ec43a..77844f086 100644 --- a/netbox/dcim/tables/sites.py +++ b/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'), ) diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py index b18ecdd5b..b4af52ad5 100644 --- a/netbox/dcim/views.py +++ b/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