私はDjango Restフレームワークをかなり新しくしています。私は本当にたくさんのものをクリアするためのいくつかの質問がありました。Django Restフレームワーク。 Retrieveがどのように動作するか
私が取得し、ListAPIViewのような単純なCRUD汎用ビューのためのドキュメントを見ていた...など
私のリストビューについては、私はこのようにそれを作成しました:理由の理にかなっている
class CourseListApiView(ListAPIView):
queryset = Course.objects.all()
serializer_class = CourseListSerializer
クエリーセットはCourse.objects.all()を返し、すべてのコースが表示されます。私はおよそ明確ではないよ何
これは私の取得図であるRetrieveApiでクエリセットが
class CourseRetrieveAPIView(RetrieveAPIView):
queryset = Course.objects.all()
serializer_class = CourseRetrieveSerializer
をどのように動作するかで、それは私のリンクからPKを取り、対応するコースを返します。私には不明な点は、クエリーセットがCourse.objects.all()であり、URLからkwargsを取得し、自分のコースをフィルタするフィルタされたクエリではない理由です。私はそれを私の方法を試してみましたが、同じ結果を得た、私の見解でした:クエリセットはCourse.objects.filterあるので、これはより多くの理にかなって
class CourseRetrieveAPIView(RetrieveAPIView):
serializer_class = CourseRetrieveSerializer
def get_queryset(self):
queryset = Course.objects.filter(pk=self.kwargs.get('pk'))
return queryset
(PK = self.kwargs.get(「PK」))の代わりに私のコースはURLのpkで自分のコースをフィルタリングしているので、私には意味がありません。
私の質問は理にかなっています。説明が必要な場合はコメントを残してください。答えはかなりわかりますが、私はフレームワークにとって非常に新しいです。