diff --git a/netbox/virtualization/api/nested_serializers.py b/netbox/virtualization/api/nested_serializers.py index 927ce5f49..cfa67aa2a 100644 --- a/netbox/virtualization/api/nested_serializers.py +++ b/netbox/virtualization/api/nested_serializers.py @@ -2,7 +2,7 @@ from drf_spectacular.utils import extend_schema_serializer from rest_framework import serializers from netbox.api.serializers import WritableNestedSerializer -from virtualization.models import Cluster, ClusterGroup, ClusterType, VirtualDisk, VirtualMachine, VMInterface +from virtualization.models import * __all__ = [ 'NestedClusterGroupSerializer', diff --git a/netbox/virtualization/filtersets.py b/netbox/virtualization/filtersets.py index ec6d1d8fa..29415ba66 100644 --- a/netbox/virtualization/filtersets.py +++ b/netbox/virtualization/filtersets.py @@ -10,7 +10,7 @@ from netbox.filtersets import OrganizationalModelFilterSet, NetBoxModelFilterSet from tenancy.filtersets import TenancyFilterSet, ContactModelFilterSet from utilities.filters import MultiValueCharFilter, MultiValueMACAddressFilter, TreeNodeMultipleChoiceFilter from .choices import * -from .models import Cluster, ClusterGroup, ClusterType, VirtualDisk, VirtualMachine, VMInterface +from .models import * __all__ = ( 'ClusterFilterSet', diff --git a/netbox/virtualization/migrations/0037_virtualmachine_virtual_disk_count_virtualdisk_and_more.py b/netbox/virtualization/migrations/0037_virtualmachine_virtual_disk_count_virtualdisk_and_more.py index bf15d9af6..443380511 100644 --- a/netbox/virtualization/migrations/0037_virtualmachine_virtual_disk_count_virtualdisk_and_more.py +++ b/netbox/virtualization/migrations/0037_virtualmachine_virtual_disk_count_virtualdisk_and_more.py @@ -55,7 +55,7 @@ class Migration(migrations.Migration): options={ 'verbose_name': 'virtual disk', 'verbose_name_plural': 'virtual disks', - 'ordering': ('_name', 'pk'), + 'ordering': ('virtual_machine', '_name'), }, bases=(models.Model, utilities.tracking.TrackingModelMixin), ), diff --git a/netbox/virtualization/models/virtualmachines.py b/netbox/virtualization/models/virtualmachines.py index c264bb2db..970167bf3 100644 --- a/netbox/virtualization/models/virtualmachines.py +++ b/netbox/virtualization/models/virtualmachines.py @@ -400,7 +400,7 @@ class VirtualDisk(NetBoxModel, TrackingModelMixin): ) class Meta: - ordering = ('_name', 'pk') # Name may be non-unique + ordering = ('virtual_machine', '_name') constraints = ( models.UniqueConstraint( Lower('name'), 'virtual_machine', diff --git a/netbox/virtualization/views.py b/netbox/virtualization/views.py index 0674431ed..486d69057 100644 --- a/netbox/virtualization/views.py +++ b/netbox/virtualization/views.py @@ -342,7 +342,8 @@ class ClusterContactsView(ObjectContactsView): class VirtualMachineListView(generic.ObjectListView): queryset = VirtualMachine.objects.annotate( - disk_size=Sum('virtualdisks__size')).prefetch_related('primary_ip4', 'primary_ip6') + disk_size=Sum('virtualdisks__size') + ).prefetch_related('primary_ip4', 'primary_ip6') filterset = filtersets.VirtualMachineFilterSet filterset_form = forms.VirtualMachineFilterForm table = tables.VirtualMachineTable