基於函式的檢視的中間分頁
我們在這些示例中看到了( ex_1 , ex_2 )如何在任何泛型類基本檢視中使用和覆蓋分頁類。
當我們想在基於函式的檢視中使用分頁時會發生什麼?
讓我們假設我們想要使用 PageNumberPagination
為 MyModel
建立一個基於函式的檢視,僅響應 GET
請求。然後:
from rest_framework.pagination import PageNumberPagination
@api_view(['GET',])
def my_function_based_list_view(request):
paginator = PageNumberPagination()
query_set = MyModel.objects.all()
context = paginator.paginate_queryset(query_set, request)
serializer = MyModelSerializer(context, many=True)
return paginator.get_paginated_response(serializer.data)
我們可以通過更改此行來執行上述自定義分頁:
paginator = PageNumberPagination()
對此
paginator = MyCustomPagination()
只要我們定義了 MyCustomPagination
來覆蓋一些預設的分頁