فهرست منبع

20089 use get_queryset function for valid_models

Arthur 6 ماه پیش
والد
کامیت
efcf9e5b3b
3فایلهای تغییر یافته به همراه12 افزوده شده و 4 حذف شده
  1. 1 1
      netbox/core/api/urls.py
  2. 3 1
      netbox/core/api/views.py
  3. 8 2
      netbox/core/views.py

+ 1 - 1
netbox/core/api/urls.py

@@ -9,7 +9,7 @@ router.APIRootView = views.CoreRootView
 router.register('data-sources', views.DataSourceViewSet)
 router.register('data-files', views.DataFileViewSet)
 router.register('jobs', views.JobViewSet)
-router.register('object-changes', views.ObjectChangeViewSet)
+router.register('object-changes', views.ObjectChangeViewSet, basename='objectchange')
 router.register('object-types', views.ObjectTypeViewSet)
 router.register('background-queues', views.BackgroundQueueViewSet, basename='rqqueue')
 router.register('background-workers', views.BackgroundWorkerViewSet, basename='rqworker')

+ 3 - 1
netbox/core/api/views.py

@@ -78,10 +78,12 @@ class ObjectChangeViewSet(ReadOnlyModelViewSet):
     Retrieve a list of recent changes.
     """
     metadata_class = ContentTypeMetadata
-    queryset = ObjectChange.objects.valid_models()
     serializer_class = serializers.ObjectChangeSerializer
     filterset_class = filtersets.ObjectChangeFilterSet
 
+    def get_queryset(self):
+        return ObjectChange.objects.valid_models()
+
 
 class ObjectTypeViewSet(ReadOnlyModelViewSet):
     """

+ 8 - 2
netbox/core/views.py

@@ -216,17 +216,23 @@ class JobBulkDeleteView(generic.BulkDeleteView):
 
 @register_model_view(ObjectChange, 'list', path='', detail=False)
 class ObjectChangeListView(generic.ObjectListView):
-    queryset = ObjectChange.objects.valid_models()
+    queryset = None
     filterset = filtersets.ObjectChangeFilterSet
     filterset_form = forms.ObjectChangeFilterForm
     table = tables.ObjectChangeTable
     template_name = 'core/objectchange_list.html'
     actions = (BulkExport,)
 
+    def get_queryset(self, request):
+        return ObjectChange.objects.valid_models()
+
 
 @register_model_view(ObjectChange)
 class ObjectChangeView(generic.ObjectView):
-    queryset = ObjectChange.objects.valid_models()
+    queryset = None
+
+    def get_queryset(self, request):
+        return ObjectChange.objects.valid_models()
 
     def get_extra_context(self, request, instance):
         related_changes = ObjectChange.objects.valid_models().restrict(request.user, 'view').filter(