Как обновить один столбец в MySQL с помощью API из DRF
Я хочу автоматически увеличивать значение столбца при переходе по URL, используя DRF API на основе классов .
Предложенный URL: /autoincrememt/<id>/
У меня есть функциональный API, но он возвращает 201
даже элемент для обновления не присутствует в базе данных.
@api_view(['POST'])
@permission_classes([permissions.IsAuthenticatedOrReadOnly])
def updateClick(request, uri_id):
p = Url_data.objects.filter(uri_id=uri_id).update(clicks=F('clicks')+1)
print("PPPP: ", p)
url_obj = Url_data.objects.all()
serializer = ClickSerializer(url_obj, data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.status_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Вот что я написал на данный момент...
class Increment(APIView):
"""
Update click count when hit.
* Requires token authentication.
"""
permission_classes = [permissions.IsAuthenticatedOrReadOnly]
def patch(self, request, uri_id, *args, **kwargs):
if request.method == 'PATCH':
patch_url = Url_data.objects.get(uri_id=uri_id)
Это также мой вопрос, заданный ранее.