我剛接觸 Django Rest Framework,我想清楚地了解 ListCreateAPIView 的作業原理。我們只需提供一個queryset,serializer_class它就會創建一個讀寫端點。
我正在尋找有關官方檔案的資訊,但沒有找到我想要的。
任何資訊都會對我有幫助。
uj5u.com熱心網友回復:
故事從get方法開始,所以當呼叫 get 時,它會呼叫list方法,
這就是 list 方法的樣子,它會呼叫 queryset 并進行分頁,然后將資料序列化以作為回應回傳
def list(self, request, *args, **kwargs):
queryset = self.filter_queryset(self.get_queryset())
page = self.paginate_queryset(queryset)
if page is not None:
serializer = self.get_serializer(page, many=True)
return self.get_paginated_response(serializer.data)
serializer = self.get_serializer(queryset, many=True)
return Response(serializer.data)
有關更多資訊,您可以訪問此鏈接 https://www.cdrf.co/3.12/rest_framework.generics/ListAPIView.html
uj5u.com熱心網友回復:
ListCreateAPIView是一個允許 GET(串列)和 POST(創建)請求的通用 APIView。你可以閱讀源代碼,也許會有更好的理解
基本上,ListCreateAPIView具有該方法get(),將呼叫該方法list()在mixins.ListModelMixin。該list方法將實體化序列化器、過濾器、對查詢集進行分頁并根據您在類中定義的查詢集和序列化器回傳回應。
如果您想更深入地了解,我建議您閱讀源代碼,一開始可能會令人困惑,但是當您開始使用它時,您會更好地理解它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/343433.html
上一篇:了解相關欄位提供查詢集的要求
下一篇:使DjangoORM自動獲取屬性
