假設我有這個代碼如何能複製在Django的REST框架請求
class SnippetList(APIView):
"""
List all snippets, or create a new snippet.
"""
def get(self, request, format=None):
snippets = Snippet.objects.all()
serializer = SnippetSerializer(snippets, many=True)
return Response(serializer.data)
現在讓我們假設在我的東西,我需要修改request.data
def get(self, request, format=None):
data = modify(request.data)
request.data = data # This don't work as i can't set attribute on request
response = self.post(self, new_request, format=None) # i want to do post method now with new request
serializer = SnippetSerializer(snippets, many=True)
有什麼方法做到這一點
它真的不清楚你想要做什麼。你能給出一個更一致的用例嗎?它可能有辦法做你想做的事,但它不清楚你到底想要什麼。 –
如果你想重用代碼,那麼最好把常用的功能放在mixin中,並從這個mixin派生出兩個調用。 – eran
@eran我同意這一點,但後來我需要一個單獨的端點,我不能這樣做。我只有一個端點可用,並且取決於一些請求參數,我必須在GET –