Как отправить идентификатор сеанса аутентификации в бэкенд django с помощью fetch api?

saveBtn.addEventListener('click', function() {
        const csrftoken = getCookie('csrftoken');
        fetch('http://localhost:8000/card/{{ auction.slug }}/add/', {
            method: 'GET',
            credentials: 'include',
            headers:{
                'Content-Type':'application/json',
                'X-Requested-With': 'XMLHttpRequest',
                'X-CSRFToken': csrftoken,
            }, 
        })
        .then(function(response) {
            if (!response.ok) {
                throw new Error('Network response was not ok');
            }
            return response.json(); 
        })
        .then(function(data) {
            if (data.added === true) {
                saveBtn.innerHTML = 'Saved';
            } else {
                saveBtn.innerHTML = ' Save';
            }
        })
        .catch(function(error) {
            console.error('Fetch request failed', error);
        });
    });

    function getCookie(name) {
        let cookieValue = null;
        if (document.cookie && document.cookie !== '') {
            const cookies = document.cookie.split(';');
            for (let i = 0; i < cookies.length; i++) {
                const cookie = cookies[i].trim();
                if (cookie.startsWith(name + '=')) {
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }

Я отправляю запрос на бэкенд django через fetch api. Когда я пытаюсь получить пользователя запроса,

TypeError: Field 'id' expected a number but got <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x00000184986CDE80>>.

возвращается ошибка Почему django не аутентифицирует по идентификатору сессии? Должен ли я отправлять request.user.id, но если отправлять его, то любой пользователь может делать запросы для других пользователей, я думаю. Или я неправильно отправляю идентификатор сессии в бэкенд?

views.py

def add_to_card(request, slug):
    if request.user.is_anonymous:
        pass
        
    auction = get_object_or_404(Auction, slug=slug)
    user = request.user
    
    data = {'added': False}
    
    card, created = Card.objects.get_or_create(user=user)
    card_item, created = CardItem.objects.get_or_create(card=card, auction=auction)
    
    if created:
        data['added'] = True
    else:
        card_item.delete()
    
    return JsonResponse(data)
Вернуться на верх