Merge pull request #5009 from kobayashi/4989-vmcount

Fixes #4989: Fix no vm count for cluster in global search
This commit is contained in:
Jeremy Stretch 2020-08-18 14:03:57 -04:00 committed by GitHub
commit 5fad6a63ca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 1 deletions

View File

@ -8,6 +8,7 @@
### Bug Fixes ### 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 * [#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 * [#4993](https://github.com/netbox-community/netbox/issues/4993) - Add `cable` to nested CircuitTermination serializer

View File

@ -34,6 +34,7 @@ from secrets.tables import SecretTable
from tenancy.filters import TenantFilterSet from tenancy.filters import TenantFilterSet
from tenancy.models import Tenant from tenancy.models import Tenant
from tenancy.tables import TenantTable from tenancy.tables import TenantTable
from utilities.utils import get_subquery
from virtualization.filters import ClusterFilterSet, VirtualMachineFilterSet from virtualization.filters import ClusterFilterSet, VirtualMachineFilterSet
from virtualization.models import Cluster, VirtualMachine from virtualization.models import Cluster, VirtualMachine
from virtualization.tables import ClusterTable, VirtualMachineDetailTable from virtualization.tables import ClusterTable, VirtualMachineDetailTable
@ -120,7 +121,10 @@ SEARCH_TYPES = OrderedDict((
# Virtualization # Virtualization
('cluster', { ('cluster', {
'permission': 'virtualization.view_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, 'filterset': ClusterFilterSet,
'table': ClusterTable, 'table': ClusterTable,
'url': 'virtualization:cluster_list', 'url': 'virtualization:cluster_list',