0

我有一個django視圖,它返回一個FriendshipRequest模型實例列表爲JSON。如何在發送響應之前在django視圖中重構JSON?

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, 
    } 
] 

如何之前,我做到這一點的看法響應被髮送?

回答

1

你只需要重建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] 
+0

感謝一直在尋找這個答案一整天! –

相關問題