Поле 'id' ожидало число, но получило 'productId' - PullRequest
0 голосов
/ 11 июля 2020

У меня возникла непредвиденная ошибка, когда я пытался сравнить идентификатор в базе данных Model Product с идентификатором, отправленным событием щелчка пользователя. Я предполагаю, что оба идентификатора должны иметь одинаковое значение и тип, но все же Django говорят, что они ожидают чего-то другого.

View.py

def updateItem(request):
    data = json.loads(request.body)
    productId = data['productId']
    action = data['action']

    customer = request.user.customer
    product = Product.objects.get(id=productId)  # this line of code

Для обращения к событию щелчка I использовали JS с Fetch API

fetch(url, {
   method: 'POST',
   headers: {
       'Content-Type': 'application/json',
       'Accept': 'application/json',
       'X-CSRFToken': csrftoken,
   },
   body: JSON.stringify({
       'productId': productId,
       'action': action
   })
})

.then((response) => {
    return response.json()
})

.then((data) => {
    console.log('data:', data)
    location.reload()
})

URL также определен правильно. В чем может быть проблема, которую я не могу отследить? Справка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...