Просмотр исходного кода

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

bctiemann 11 месяцев назад
Родитель
Сommit
6efc5682cd
2 измененных файлов с 10 добавлено и 0 удалено
  1. 5 0
      netbox/netbox/api/viewsets/__init__.py
  2. 5 0
      netbox/netbox/views/generic/bulk_views.py

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

@@ -121,6 +121,11 @@ class NetBoxModelViewSet(
             obj.snapshot()
             obj.snapshot()
         return obj
         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):
     def get_serializer(self, *args, **kwargs):
         # If a list of objects has been provided, initialize the serializer with many=True
         # If a list of objects has been provided, initialize the serializer with many=True
         if isinstance(kwargs.get('data', {}), list):
         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
     # 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):
     def get(self, request):
         """
         """
         GET request handler.
         GET request handler.