Explorar el Código

Fixes #4926: Fix ordering of VM interfaces in REST API endpoint

Jeremy Stretch hace 5 años
padre
commit
76c2fd3414
Se han modificado 2 ficheros con 3 adiciones y 1 borrados
  1. 1 0
      docs/release-notes/version-2.8.md
  2. 2 1
      netbox/virtualization/api/views.py

+ 1 - 0
docs/release-notes/version-2.8.md

@@ -16,6 +16,7 @@
 * [#4894](https://github.com/netbox-community/netbox/issues/4894) - Fix display of device/VM counts on platforms list
 * [#4894](https://github.com/netbox-community/netbox/issues/4894) - Fix display of device/VM counts on platforms list
 * [#4895](https://github.com/netbox-community/netbox/issues/4895) - Force UTF-8 encoding when embedding model documentation
 * [#4895](https://github.com/netbox-community/netbox/issues/4895) - Force UTF-8 encoding when embedding model documentation
 * [#4910](https://github.com/netbox-community/netbox/issues/4910) - Unpin redis dependency to fix exception in RQ worker
 * [#4910](https://github.com/netbox-community/netbox/issues/4910) - Unpin redis dependency to fix exception in RQ worker
+* [#4926](https://github.com/netbox-community/netbox/issues/4926) - Fix ordering of VM interfaces in REST API endpoint
 * [#4927](https://github.com/netbox-community/netbox/issues/4927) - Fix validation error when updating an existing secret
 * [#4927](https://github.com/netbox-community/netbox/issues/4927) - Fix validation error when updating an existing secret
 * [#4929](https://github.com/netbox-community/netbox/issues/4929) - Correct log message when creating a new object
 * [#4929](https://github.com/netbox-community/netbox/issues/4929) - Correct log message when creating a new object
 
 

+ 2 - 1
netbox/virtualization/api/views.py

@@ -3,6 +3,7 @@ from django.db.models import Count
 from dcim.models import Device, Interface
 from dcim.models import Device, Interface
 from extras.api.views import CustomFieldModelViewSet
 from extras.api.views import CustomFieldModelViewSet
 from utilities.api import ModelViewSet
 from utilities.api import ModelViewSet
+from utilities.query_functions import CollateAsChar
 from utilities.utils import get_subquery
 from utilities.utils import get_subquery
 from virtualization import filters
 from virtualization import filters
 from virtualization.models import Cluster, ClusterGroup, ClusterType, VirtualMachine
 from virtualization.models import Cluster, ClusterGroup, ClusterType, VirtualMachine
@@ -74,7 +75,7 @@ class VirtualMachineViewSet(CustomFieldModelViewSet):
 class InterfaceViewSet(ModelViewSet):
 class InterfaceViewSet(ModelViewSet):
     queryset = Interface.objects.filter(
     queryset = Interface.objects.filter(
         virtual_machine__isnull=False
         virtual_machine__isnull=False
-    ).prefetch_related(
+    ).order_by('virtual_machine', CollateAsChar('_name')).prefetch_related(
         'virtual_machine', 'tags'
         'virtual_machine', 'tags'
     )
     )
     serializer_class = serializers.InterfaceSerializer
     serializer_class = serializers.InterfaceSerializer