diff --git a/apps/assets/api/favorite_asset.py b/apps/assets/api/favorite_asset.py index ae1c624a7..176af897d 100644 --- a/apps/assets/api/favorite_asset.py +++ b/apps/assets/api/favorite_asset.py @@ -14,6 +14,7 @@ class FavoriteAssetViewSet(BulkModelViewSet): serializer_class = FavoriteAssetSerializer permission_classes = (IsValidUser,) filterset_fields = ['asset'] + default_limit = None def dispatch(self, request, *args, **kwargs): with tmp_to_root_org(): diff --git a/apps/jumpserver/rewriting/pagination.py b/apps/jumpserver/rewriting/pagination.py index 3a6ae48f1..5e2973a87 100644 --- a/apps/jumpserver/rewriting/pagination.py +++ b/apps/jumpserver/rewriting/pagination.py @@ -15,9 +15,13 @@ class MaxLimitOffsetPagination(LimitOffsetPagination): def paginate_queryset(self, queryset, request, view=None): if view and hasattr(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'): self.default_limit = view.page_default_limit - if view and hasattr(view, 'default_limit'): self.default_limit = view.default_limit diff --git a/apps/rbac/api/role.py b/apps/rbac/api/role.py index 4d3ce13df..36b06a9b5 100644 --- a/apps/rbac/api/role.py +++ b/apps/rbac/api/role.py @@ -28,6 +28,7 @@ class RoleViewSet(JMSModelViewSet): rbac_perms = { 'users': 'rbac.view_rolebinding' } + default_limit = None def perform_destroy(self, instance): from orgs.utils import tmp_to_root_org