Несколько заказов сохраняются в одно время django ecommerce?
В моем сайте электронной коммерции на django. Я пытаюсь создать заказ. Это работает, но в один клик сохраняется два заказа. orderItem
def updateItem(request):
data = json.loads(request.body)
productId = data['productId']
action = data['action']
quantity = data['quantity']
print('Action:', action)
print('Product:', productId)
print('Quantity:',quantity)
customer = request.user.customer
product = Product.objects.get(id=productId)
order, created = Order.objects.get_or_create(customer=customer, complete=False)
orderItem, created = OrderItem.objects.get_or_create(order=order, product=product)
if action == 'add':
orderItem.quantity = (orderItem.quantity + quantity)
if action == 'remove':
orderItem.quantity = (orderItem.quantity - quantity)
orderItem.save()
if action=='delete':
orderItem.quantity=0
if orderItem.quantity <= 0:
orderItem.delete()
return JsonResponse('Item was added', safe=False)
порядок
def processOrder(request):
transaction_id = datetime.datetime.now().timestamp()
data = json.loads(request.body)
name = data['form']['name']
email = data['form']['email']
phone = data['form']['number']
phoneAdd = data['form']['numberAdd']
address = data['form']['address']
time = data['form']['time']
date = data['form']['date']
payment = data['form']['payment']
comment = data['form']['comment']
id_order = int(data['form']['id'])
if request.user.is_authenticated:
customer = request.user.customer
order = Order.objects.get(id=id_order)
order.transaction_id = transaction_id
order.complete=True
order.save()
OrderInfo.objects.create(customer=customer,order=order,name=name,email=email,phone=phone,phoneAdd=phoneAdd,address=address,time=time,date=date,payment=payment,comment=comment)
else:
print("Not logged in ")
return JsonResponse('Payment submitted..', safe=False)
Работает, и значение complete меняется на TRUE. Однако создается еще один пустой заказ. Так в чем же проблема? Не могли бы вы помочь решить эту проблему?