Django Rest框架分页性能问题

时间:2016-11-10 15:19:19

标签: python django rest pagination

我有一个视图,它继承自ListAPIView并显示一个对象列表。出于性能原因,我正在尝试实现分页。所以:

from rest_framework.pagination import PageNumberPagination
class LargeResultsSetPagination(PageNumberPagination):
    page_size = 2
    page_size_query_param = 'page_size'
    max_page_size = 2

class RaceEventListView(CallSerializerEagerLoadingMixin, ListAPIView):
    serializer_class = RaceEventListSerializer
    queryset = RaceEvent.objects.all()
    pagination_class = LargeResultsSetPagination

关注文档http://www.django-rest-framework.org/api-guide/pagination/

没有分页,只会进行一次查询。 Select * from raceevent

通过分页进行两次查询。 Select * from raceeventSelect * from raceevent LIMIT 2

increment()

结果,我无法取得更好的表现。 我应该怎么做,以便在使用分页时将查询限制为1

1 个答案:

答案 0 :(得分:0)

第二个查询用于计算对象的总量。响应的json对象具有属性count ...为了计算此值,将进行查询。