我有一个django视图,它以JSON的形式返回FriendshipRequest模型实例的列表。
class ListUnseenFriendRequests(generics.GenericAPIView):
permission_classes = (IsAuthenticated,)
def get(self, request, format=None):
friendship_requests_list = json.loads(serializers.serialize('json', Friend.objects.unread_requests(user=request.user)))
return JsonResponse(friendship_requests_list, safe=False)
JSON 响应如下所示:
[
{
"pk": 8,
"model": "friendship.friendshiprequest",
"fields": {
"created": "2017-07-27T14:02:28.492Z",
"rejected": null,
"to_user": 4,
"from_user": 6,
"message": "",
"viewed": null
}
},
{
"pk": 20,
"model": "friendship.friendshiprequest",
"fields": {
"created": "2017-07-31T08:03:27.887Z",
"rejected": null,
"to_user": 4,
"from_user": 14,
"message": "",
"viewed": null
}
}
]
但是,我希望响应如下所示:
[
{
"pk": 8,
"created": "2017-07-27T14:02:28.492Z",
"to_user": 4,
"from_user": 6,
},
{
"pk": 20,
"created": "2017-07-31T08:03:27.887Z",
"to_user": 4,
"from_user": 14,
}
]
在发送响应之前,如何在视图中执行此操作?
您只需要重建 json 数据。 在返回您的 JsonResponce 之前,您可以这样做
new_json_list = [{"pk": x["pk"],
"created": x["fields"]["created"],
"to_user": x["fields"]["to_user"],
"from_user": x["fields"]["from_user"]}
for x in friendship_requests_list]