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 という感じでインスタンスが返り値の場合にオーバーライドする(と思われます)