From 34708a8fa5c3d999d1b8f9e0e15b8631a89c8668 Mon Sep 17 00:00:00 2001 From: kobayashi Date: Mon, 17 Aug 2020 10:59:01 -0400 Subject: [PATCH] Fixes #4989: Fix no vm count for cluster in global search --- docs/release-notes/version-2.8.md | 1 + netbox/netbox/views.py | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/version-2.8.md b/docs/release-notes/version-2.8.md index da76216bf..0af308ca7 100644 --- a/docs/release-notes/version-2.8.md +++ b/docs/release-notes/version-2.8.md @@ -8,6 +8,7 @@ ### Bug Fixes +* [#4989](https://github.com/netbox-community/netbox/issues/4989) - Annotate device & vm counts to cluster qeryset for global search * [#4992](https://github.com/netbox-community/netbox/issues/4992) - Add `display_name` to nested VRF serializer * [#4993](https://github.com/netbox-community/netbox/issues/4993) - Add `cable` to nested CircuitTermination serializer diff --git a/netbox/netbox/views.py b/netbox/netbox/views.py index 37a516409..2557b7d22 100644 --- a/netbox/netbox/views.py +++ b/netbox/netbox/views.py @@ -34,6 +34,7 @@ from secrets.tables import SecretTable from tenancy.filters import TenantFilterSet from tenancy.models import Tenant from tenancy.tables import TenantTable +from utilities.utils import get_subquery from virtualization.filters import ClusterFilterSet, VirtualMachineFilterSet from virtualization.models import Cluster, VirtualMachine from virtualization.tables import ClusterTable, VirtualMachineDetailTable @@ -120,7 +121,10 @@ SEARCH_TYPES = OrderedDict(( # Virtualization ('cluster', { 'permission': 'virtualization.view_cluster', - 'queryset': Cluster.objects.prefetch_related('type', 'group'), + 'queryset': Cluster.objects.prefetch_related('type', 'group').annotate( + device_count=get_subquery(Device, 'cluster'), + vm_count=get_subquery(VirtualMachine, 'cluster') + ), 'filterset': ClusterFilterSet, 'table': ClusterTable, 'url': 'virtualization:cluster_list',