我正在尝试使用令牌身份验证来添加订单,但是会出现以下错误。我想将订单从android应用添加到Django应用,但是出于测试目的,我通过API手动添加了订单,这会产生以下错误。请帮忙!
@csrf_exempt
def add_order(request):
if request.method == "POST":
access_token = AccessToken.objects.get(token=request.POST.get('access_token'), expires__gt=timezone.now())
customer = access_token.user.customer
if Order.objects.filter(customer=customer).exclude(status=Order.DELIVERED):
return JsonResponse({
'status': 'failed',
'error': 'Your last order must be completed'
})
if not request.POST["address"]:
return JsonResponse({
'status': 'fail',
'error': 'Address is required'
})
order_details = json.loads(request.POST['order_details'])
order_total = 0
for meal in order_details:
order_total += Meal.objects.get(id=meal["meal_id"]).price * meal["quantity"]
if len(order_total) > 0:
order = Order.objects.create(
customer=customer,
restaurant_id=request.POST['restaurant_id'],
total=order_total,
status=Order.COOKING,
address=request.POST['address']
)
for meal in order_details:
OrderDetails.objects.create(
order=order,
meal_id=meal['meal_id'],
quantity=meal['quantity'],
sub_total=Meal.objects.get(id=meal['meal_id']).price * meal['quantity']
)
return JsonResponse({
'status': 'success'
})