Browse Source

Override get_queryset on generic ObjectListView and NetBoxModelViewSet to reapply model-level ordering (#18805)

bctiemann 11 months ago
parent
commit
6efc5682cd

+ 5 - 0
netbox/netbox/api/viewsets/__init__.py

@@ -121,6 +121,11 @@ class NetBoxModelViewSet(
             obj.snapshot()
         return obj
 
+    def get_queryset(self):
+        qs = super().get_queryset()
+        ordering = qs.model._meta.ordering
+        return qs.order_by(*ordering)
+
     def get_serializer(self, *args, **kwargs):
         # If a list of objects has been provided, initialize the serializer with many=True
         if isinstance(kwargs.get('data', {}), list):

+ 5 - 0
netbox/netbox/views/generic/bulk_views.py

@@ -125,6 +125,11 @@ class ObjectListView(BaseMultiObjectView, ActionsMixin, TableMixin):
     # Request handlers
     #
 
+    def get_queryset(self, request):
+        qs = super().get_queryset(request)
+        ordering = qs.model._meta.ordering
+        return qs.order_by(*ordering)
+
     def get(self, request):
         """
         GET request handler.