Автоматическое увеличение значения элемента при получении URL-адреса с помощью API

Я новичок в DRF, поэтому прошу прощения, если это банальный вопрос.

Я хочу создать конечную точку API для автоматического увеличения значения столбца в базе данных при каждом обращении к указанному URL-адресу.

Например--> В файле models.py у меня есть:

    models.py

    class User(models.Model):
        name = models.CharField(null=False, blank=False, max_length=250)
        error= models.IntegerField(null=False, blank=False)

Как написать функцию представления, чтобы при каждом обращении к связанному URL значение error увеличивалось на 1?

In the URL the ID of the row should also be passed such as: localhost:8000/users/error/2

После перехода по указанному выше URL значение ошибки для пользователя 2 должно увеличиться на единицу.

Спасибо,

Мы можем определить шаблон URL с помощью:

path('/users/error/<int:pk>/', some_view, name='increment-errors'),

Это представление может выглядеть следующим образом:

from django.db.models import F

def my_view(request, pk):
    User.objects.filter(pk=pk).update(error=F('error')+1)
    # …

где часть должна возвращать HttpResponse.

Обычно GET-запросы не должны изменять сущности, поэтому такие представления обычно должны вызываться POST-запросом. Мы можем ограничить представление POST-запросом с помощью:

from django.views.decorators.http import require_POST

@require_POST
def my_view(request, pk):
    User.objects.filter(pk=pk).update(error=F('error')+1)
    # …
Вернуться на верх