Par défaut, RetrieveAPIView ou RetrieveUpdateAPIView nécessite lookup_field
pour récupérer le modèle.RetrieveAPIView sans champ de recherche?
Cependant dans mon cas, je veux récupérer mon modèle par self.request.user.
Voici exemple views.py
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
Puis-je utiliser RetrieveAPIView sans lookup_field?
où vous trouvez que 'lookup_field' est nécessaire? Je ne l'ai pas trouvé dans les docs, et ça a marché sur mon projet. –
cet attr a la valeur par défaut dans 'GenericAPIView' et il est utilisé pour obtenir l'objet. –
Je reçois cette erreur si je ne spécifie pas 'lookup_field': Affichage attendu ProfilePageView à appeler avec un argument de mot clé URL nommé" pk ". Corrigez votre URL conf, ou définissez correctement l'attribut '.lookup_field' sur la vue. –