1

Django REST Frameworks Paginator を使用して、データベースから読み取った JSON 応答をページ付けしています。

現在の serializers.py ファイルは次のようになります。

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)

    paginate_by_param = "offset"

    def transform_iso(self, obj, value):
        return "country_code"

class PaginatedCountrySerializer(pagination.PaginationSerializer):
    paginate_by_param = "offset"
    class Meta:
        object_serializer_class = CountrySerializer
        paginate_by_param = "offset"

現在、リクエスト/レスポンスは次のようになっています。

GET /v4/api/v1/countries/?limit=1&offset=1
{
    "count": 250, 
    "next": "http://dev.fanmode.com/v4/api/v1/countries/?limit=2&page=2&offset=1", 
    "previous": null, 
    "results": [
        {
            "country_geoname_id": 3041565, 
            "country_code": "AD", 
            "country_name": "Andorra"
        }, 
        ...
    ]
}

誰かが私に言って助けてくれますか:

  • これらの名前を変更するにはどうすればよいですか? たとえば、nextフィールドの「page=2」と表示されている場所を「limit=2」に変更したいとします。'PAGINATE_BY_PARAM': 'limit'settings.py ファイルで試しましたが、うまくいきませんでした。
  • フィールドをまとめて削除するにはどうすればよいですか。応答から「count」と「previous」を削除したい。

私が得ることができる助けに感謝します。ありがとう。

4

1 に答える 1