如何在Django中为每个动作使用不同的分页类?

时间:2017-05-24 09:53:45

标签: python django pagination django-rest-framework

我正在使用Viewsets。例如,要为每个操作使用不同的序列化程序,我可以覆盖get_serializer_class()方法。但是分页课怎么样?有没有办法设置pagination_class = <my pagination class>以外的分页类?我认为这不好,因为它将改变所有行动的pagination_class

1 个答案:

答案 0 :(得分:1)

您需要使用自己的方式覆盖Pagination类。

from rest_framework.pagination import PageNumberPagination

class PageNumberPaginationDataOnly(PageNumberPagination):
    # Set any other options you want here like page_size

    def get_paginated_response(self, data):
        # implement your logic
        return Response(data)