gpt4 book ai didi

python - 在 Django Rest 框架分页中添加新值

转载 作者:行者123 更新时间:2023-12-03 08:22:32 25 4
gpt4 key购买 nike

我想在分页返回时添加“isSuccess”。

例如,

{
"count": 1234,
"next": "http://mydomain/?page=2",
"previous": null,
"isSuccess" : 'Success' # <---- this one
"results": [
{
'id':123,
'name':'abc'
},
{
'id':234,
'name':'efg'
},
...
]
}

我找到了this way但它没有用。 如何在 Django 分页返回中添加新值?

这是我的尝试:

class Testing(generics.GenericAPIView):
queryset = Problem.objects.all()
serializer_class = userSerializer
pagination_class = userPagination

def get(self, request):
queryset = self.get_queryset()
page = self.request.query_params.get('page')

if page is not None:
paginate_queryset = self.paginate_queryset(queryset)
serializer = self.serializer_class(paginate_queryset, many=True)

tmp = serializer.data
tmp['isSuccess'] = 'Success'

return self.get_paginated_response(tmp)

最佳答案

尝试一下,不要将 isSuccess 添加到 serializer.data,而是将其添加到 get_pagination_response().data

def get(self, request):
queryset = self.get_queryset()
page = self.request.query_params.get('page')

if page is not None:
paginate_queryset = self.paginate_queryset(queryset)
serializer = self.serializer_class(paginate_queryset, many=True)

tmp = serializer.data
# tmp['isSuccess'] = 'Success'

response = self.get_paginated_response(tmp)
response.data['isSuccess'] = "Success"

return Response(data=response.data, status=status.HTTP_200_OK)

return Response(data="No Page parameter found", status=status.HTTP_200_OK)

响应将类似于

{
"count": 1234,
"next": null,
"previous": null,
"results": [
{
'id':123,
'name':'abc'
},
...
],
"isSuccess" : 'Success'
}

关于python - 在 Django Rest 框架分页中添加新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67444842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com