更改或删除PaginationSerializ中的默认返回值

2024-05-20 07:16:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用Django REST Frameworks Paginator对从数据库读取的JSON响应进行分页。在

我的电流序列化程序.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"

请求/响应当前如下所示:

^{pr2}$

有人能帮我告诉我:

  • 如何修改这些名称?例如,我想将next字段中的“page=2”改为“limit=2”。我试过'PAGINATE_BY_PARAM': 'limit'在设置.py但这没用。在
  • 如何一起删除字段。我要从响应中删除“count”和“previous”。在

感谢我能得到的任何帮助。 谢谢。在


Tags: pytruebyparamrequiredcodeisocountry
1条回答
网友
1楼 · 发布于 2024-05-20 07:16:19

您可以在^{}文件中更改NextPageField类中的page_field,将名称从page永久更改为limit。在

对于第二部分,您可以编写自己的custom ^{}

from rest_framework.pagination import BasePaginationSerializer, NextPageField
class MyPaginationSerializer(BasePaginationSerializer):

    next = NextPageField(source='*')

现在只返回nextresults字段。在

相关问题 更多 >