diff --git a/apps/jumpserver/rewriting/pagination.py b/apps/jumpserver/rewriting/pagination.py index a924d854a..cd38fd0ba 100644 --- a/apps/jumpserver/rewriting/pagination.py +++ b/apps/jumpserver/rewriting/pagination.py @@ -1,6 +1,13 @@ from django.conf import settings +from django.core.exceptions import FieldError from rest_framework.pagination import LimitOffsetPagination class MaxLimitOffsetPagination(LimitOffsetPagination): max_limit = settings.MAX_LIMIT_PER_PAGE + + def get_count(self, queryset): + try: + return queryset.values_list('id').order_by().count() + except (AttributeError, TypeError, FieldError): + return len(queryset)