DRF::views.py各種APIViewでオーバーライドできる関数などのメモ
- アーティスト: O.S.T.
- 出版社/メーカー: Universal
- 発売日: 2017/04/07
- メディア: CD
- この商品を含むブログを見る
各種APIViewでオーバーライドできる関数などのメモ
(ご注意)自分が実装したものだけ書いているので網羅的ではないです><
[ListCreateAPIView]
- def get_queryset(self):
#ulrに<int:pk>をつけている場合 def get_queryset(self): queryset = □□.objects.all().filter(□key□=self.kwargs['pk']) return queryset
[RetrieveAPIView]
- def get(self):
#ulrに<int:pk>をつけている場合 from rest_framework.response import Response from rest_framework.status import HTTP_200_OK def get(self, request, pk, format=None): #urlにあるのでpkを入れ込みます instance = self.queryset.get(id=pk) #例 return Response(data={ 'id': str(self.request.user.id), 'first_name': str(instance.first_name), 'last_name': str(instance.last_name), },status=HTTP_200_OK)
こんな感じでgetで返す値をオーバーライドして設定します
- def get_object(self): はreturn instance という感じでインスタンスが返り値の場合にオーバーライドする(と思われます)