Django REST フレームワークを使用しており、リクエストで提供される GET パラメータに基づいてリストをページ分割する必要があります。
設定で設定できることはわかってい'PAGINATE_BY': 10
ますが、発信者がリクエストを行うときにページ番号を付けたい番号を指定できるようにしたいと考えています。
現在、次のシリアライザーがあります。
from api.models import Countries
from rest_framework import serializers
class CountrySerializer(serializers.Serializer):
country_geoname_id = serializers.CharField(required=True)
country_code = serializers.CharField(source="iso", max_length=2L, required=True)
country_name = serializers.CharField(max_length=64L, required=True)
def transform_iso(self, obj, value):
return "country_code"
そして、私は次のビューを試しました:
@api_view(['GET'])
def country_list(request):
"""
List all countries
"""
if request.method == 'GET':
queryset = Countries.objects.all()
serializer = CountrySerializer(queryset, many=True, data=request.DATA)
paginate_by = request.GET.get('limit', 10)
return Response(serializer.data)
しかし、私は何かが欠けていると感じており、ドキュメントからそれを理解することができませんでした.
シリアライザーまたはビューでページネーションを行う必要がありますか?
前もって感謝します。