Je souhaite mettre à jour un champ dans mon modèle lorsqu'un lien d'objet est appelé via l'API. J'utilise Django Rest Framework pour gérer la création de l'API.Mise à jour partielle échouée via Viewset Django Rest Framework
du lien à un seul objet est
example.com/api/pk/ where pk is the object id.
Dans le modèle viewset, j'écrit une méthode de mise à jour partielle pour gérer l'addition de 1 à chaque fois que le champ de l'objet est appelé.
class RocNationViewSet(viewsets.ModelViewSet):
queryset=RocNation.objects.filter(is_active=True).order_by('-pub_date')
serializer_class=RocNationSerializer
filter_backends = (DjangoFilterBackend,)
def partial_update(self, request, pk=None):
serializer=RocNationSerializer(rocnation, roc_views=F('roc_views')+1, partial=True)
serializer.save()
return Response(serializer.data)
La méthode ne réalise pas l'opération. Le champ dans le modèle n'est pas mis à jour. Qu'est-ce que je rate?
-vous utiliser la méthode 'de patch'? –
Non. Comment vais-je m'y prendre? – YoYo
remplacez 'PUT' par' PATCH' dans votre requête –