From 9d980a9b8d6dc93770377e6834bab8ec94fc8034 Mon Sep 17 00:00:00 2001 From: RokHyungSon Date: Fri, 26 Mar 2021 02:33:08 +0900 Subject: [PATCH] LimitOffsetPagination: Changed the check of data type to try-catch in get_count method to isinstance method --- rest_framework/pagination.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/rest_framework/pagination.py b/rest_framework/pagination.py index 91da73de6..98fe8c6e5 100644 --- a/rest_framework/pagination.py +++ b/rest_framework/pagination.py @@ -8,6 +8,7 @@ from urllib import parse from django.core.paginator import InvalidPage from django.core.paginator import Paginator as DjangoPaginator +from django.db.models.query import QuerySet from django.template import loader from django.utils.encoding import force_str from django.utils.translation import gettext_lazy as _ @@ -522,9 +523,9 @@ class LimitOffsetPagination(BasePagination): """ Determine an object count, supporting either querysets or regular lists. """ - try: + if isinstance(queryset, QuerySet): return queryset.count() - except (AttributeError, TypeError): + else: return len(queryset) def get_schema_fields(self, view):