perf: change some api view default limit

pull/15983/head^2
mikebofs 2025-09-05 16:18:15 +08:00 committed by 老广
parent 60f06adaa9
commit 528b0ea1ba
3 changed files with 7 additions and 1 deletions

View File

@ -14,6 +14,7 @@ class FavoriteAssetViewSet(BulkModelViewSet):
serializer_class = FavoriteAssetSerializer serializer_class = FavoriteAssetSerializer
permission_classes = (IsValidUser,) permission_classes = (IsValidUser,)
filterset_fields = ['asset'] filterset_fields = ['asset']
default_limit = None
def dispatch(self, request, *args, **kwargs): def dispatch(self, request, *args, **kwargs):
with tmp_to_root_org(): with tmp_to_root_org():

View File

@ -15,9 +15,13 @@ class MaxLimitOffsetPagination(LimitOffsetPagination):
def paginate_queryset(self, queryset, request, view=None): def paginate_queryset(self, queryset, request, view=None):
if view and hasattr(view, 'page_max_limit'): if view and hasattr(view, 'page_max_limit'):
self.max_limit = view.page_max_limit self.max_limit = view.page_max_limit
# 自定义的 api view就默认不约束分页了
if getattr(view, 'action') != 'list' and not getattr(view, 'default_limit'):
self.default_limit = None
if view and hasattr(view, 'page_default_limit'): if view and hasattr(view, 'page_default_limit'):
self.default_limit = view.page_default_limit self.default_limit = view.page_default_limit
if view and hasattr(view, 'default_limit'): if view and hasattr(view, 'default_limit'):
self.default_limit = view.default_limit self.default_limit = view.default_limit

View File

@ -28,6 +28,7 @@ class RoleViewSet(JMSModelViewSet):
rbac_perms = { rbac_perms = {
'users': 'rbac.view_rolebinding' 'users': 'rbac.view_rolebinding'
} }
default_limit = None
def perform_destroy(self, instance): def perform_destroy(self, instance):
from orgs.utils import tmp_to_root_org from orgs.utils import tmp_to_root_org