Сайт электронной коммерции на Django, заказ не сохраняется, когда клиент вошел в аккаунт. Если нет, то все работает нормально

Я работаю над сайтом электронной коммерции и пришло время сделать оформление заказа. На моем сайте при заказе товара без учетной записи заказ сохраняется, но если с учетной записью, то происходит переход на другую страницу, но не стирается корзина и не сохраняется заказ. В чем проблема? Не могли бы вы помочь мне решить эту проблему. Не работает только когда клиент вошел в аккаунт. views.py

def processOrder(request):
    transaction_id = datetime.datetime.now().timestamp()
    data = json.loads(request.body)
    
    tel = data['shipping']['number'],
    address=data['shipping']['address'],
    city=data['shipping']['city'],
    state=data['shipping']['state'],

    if request.user.is_authenticated:
        customer = request.user.customer
        order, created = Order.objects.get_or_create(customer=customer, complete=False)
    else:
        customer, order = guestOrder(request, data)

    total = float(data['form']['total'])
    order.transaction_id = transaction_id
    order.tel= tel
    order.address=address
    order.city=city
    order.state=state

    if total == order.get_cart_total:
        order.complete = False
    order.save()


    
    return JsonResponse('Payment submitted..', safe=False)

html

script fetch

    function getToken(name) {
        var cookieValue = null;
        if (document.cookie && document.cookie !== '') {
            var cookies = document.cookie.split(';');
            for (var i = 0; i < cookies.length; i++) {
                var cookie = cookies[i].trim();
                // Does this cookie string begin with the name we want?
                if (cookie.substring(0, name.length + 1) === (name + '=')) {
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }
    var csrftoken = getToken('csrftoken')

    
    var total = '{{order.get_cart_total}}'
    

    
    var form = document.getElementById('form')
    form.addEventListener('submit', function(e){
        e.preventDefault()
        console.log('Form Submitted...')
        
    })

   document.getElementById('make-payment').addEventListener('click', function(e){
        submitFormData()
    })
    

    function submitFormData(){
        console.log('Payment button clicked')

        var userFormData = {
            'name':null,
            'surname':null,
            'email':null,
            'total':total,
            
        }

        var shippingInfo = {
            'name':null,
            'surname':null,
            'email':null,
            'number':null,
            'address':null,
            'city':null,
            'state':null,
            
        }

        shippingInfo.address = form.address.value
        shippingInfo.city = form.city.value
        shippingInfo.state = form.state.value
        shippingInfo.number = form.number.value
            
        

        userFormData.name = form.name.value
        userFormData.surname = form.surname.value
        userFormData.email = form.email.value
        
        

        console.log('Shipping Info:', shippingInfo)
        console.log('User Info:', userFormData)

        var url = "/process_order/"
        fetch(url, {
            method:'POST',
            headers:{
                'Content-Type':'applicaiton/json',
                'X-CSRFToken':csrftoken,
            }, 
            body:JSON.stringify({'form':userFormData, 'shipping':shippingInfo}),
            
        })
        
        .then((data) => {
            console.log('Success:', data);
            alert('Transaction completed');  

            cart = {}
            document.cookie ='cart=' + JSON.stringify(cart) + ";domain=;path=/"

            window.location.href = "{% url 'store' %}"

            })
    }
</script>

Пожалуйста, помогите! Заранее спасибо!

Вернуться на верх