デフォルトでは、RetrieveAPIViewまたはRetrieveUpdateAPIViewにはlookup_field
が必要です。RetrieveAPIルックアップフィールドのないビュー?
私の場合は、self.request.userでモデルを取得したいと考えています。ここで
は
class ProfileRetrieveAndUpdateProfile(generics.RetrieveUpdateAPIView):
queryset = Profile.objects.all()
serializer_class = ProfileRetrieveAndUpdateSerializer
lookup_field = 'user_id'
def get_queryset(self):
qs = Profile.objects.all()
logged_in_user_profile = qs.filter(user=self.request.user)
return logged_in_user_profile
私はlookup_fieldなしRetrieveAPIView 使用することはできviews.py例ですか?
をオーバーライドする必要がありますか?私はドキュメントでそれを見つけられませんでした、そして、それは私のプロジェクトで気にします。 –
このattrは 'GenericAPIView'にデフォルト値を持ち、getオブジェクトに使用されます。 –
'lookup_field'を指定しなかった場合、このエラーが発生します。予想されるビュー" pk "というURLキーワード引数で呼び出される予定のProfilePageView。あなたのURL confを修正するか、ビューの '.lookup_field'属性を正しく設定してください。 –