Django:不存在AccessToken匹配查询

时间:2019-08-08 07:50:50

标签: django django-rest-framework

我正在尝试使用令牌身份验证来添加订单,但是会出现以下错误。我想将订单从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'
            })

0 个答案:

没有答案