From 14e5f89febea452c20ee62adf0d188e724963215 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Mon, 23 Oct 2017 13:15:34 -0400 Subject: [PATCH] Fixes #1624: Add VM count to device roles table --- netbox/dcim/tables.py | 3 ++- netbox/dcim/views.py | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/netbox/dcim/tables.py b/netbox/dcim/tables.py index 2a0127389..5f41b9dfa 100644 --- a/netbox/dcim/tables.py +++ b/netbox/dcim/tables.py @@ -362,6 +362,7 @@ class DeviceRoleTable(BaseTable): pk = ToggleColumn() name = tables.LinkColumn(verbose_name='Name') device_count = tables.Column(verbose_name='Devices') + vm_count = tables.Column(verbose_name='VMs') color = tables.TemplateColumn(COLOR_LABEL, verbose_name='Label') slug = tables.Column(verbose_name='Slug') actions = tables.TemplateColumn(template_code=DEVICEROLE_ACTIONS, attrs={'td': {'class': 'text-right'}}, @@ -369,7 +370,7 @@ class DeviceRoleTable(BaseTable): class Meta(BaseTable.Meta): model = DeviceRole - fields = ('pk', 'name', 'device_count', 'color', 'vm_role', 'slug', 'actions') + fields = ('pk', 'name', 'device_count', 'vm_count', 'color', 'vm_role', 'slug', 'actions') # diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py index 13710c310..268682f67 100644 --- a/netbox/dcim/views.py +++ b/netbox/dcim/views.py @@ -700,7 +700,10 @@ class DeviceBayTemplateBulkDeleteView(PermissionRequiredMixin, BulkDeleteView): # class DeviceRoleListView(ObjectListView): - queryset = DeviceRole.objects.annotate(device_count=Count('devices')) + queryset = DeviceRole.objects.annotate( + device_count=Count('devices', distinct=True), + vm_count=Count('virtual_machines', distinct=True) + ) table = tables.DeviceRoleTable template_name = 'dcim/devicerole_list.html'