Отправка данных методом post через Fetch API на бэкенд Django не работает

Я пишу корзину покупок на Django, которая использует сессии. Я хочу отправлять ID выбранного товара на сервер через Javascript's fetch API. Когда я использую родной HTML form с method=post, мое серверное приложение работает правильно, но когда я использую fetch API, я получаю ошибки. Вот код моей кнопки:

<button class="btn btn-primary addtocart" id=2 onClick="GFG_click(this.id)">Add to Cart</button>

Вот JavaScript:

<script>
    function GFG_click(clicked) {
      fetch('cart/add/', {
          method: 'POST',
          headers: {
            'Content-Type': 'application/json'
          },
          body: JSON.stringify({
            id : '1'
          }),
        })
        .then((res) => JSON.stringify(res.json()))
        .then((data) => {
          // Do some stuff ...
        })
        .catch((err) => console.log(err));
    }
  </script>

Вот шаблон URL Django:

path('cart/add/', views.cart_add, name='cart_add')

Вот cart_add вид:

def cart_add(request):
    if request.method == 'POST':
        cart = Cart(request)
        id = request.POST.get('id')
        product = Product.objects.get(id=id)
        cart.add(product=product)
        return JsonResponse("success")

И вот какую ошибку я получаю:

Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0

DoesNotExist at /playground/cart/add/
Product matching query does not exist.
Request Method: POST
Request URL:    http://127.0.0.1:8000/playground/cart/add/
Django Version: 4.0.5
Exception Type: DoesNotExist
Exception Value:    
Product matching query does not exist.

В этой строке:

product = Product.objects.get(id=id)
Вернуться на верх