首页 > 解决方案 > 交易的django计算问题

问题描述

def createOrder(request, pk):
    OrderFormSet = inlineformset_factory(Manager, Order, fields=('product', 'status','count'), 
    extra=10)
    manager = Manager.objects.get(id=pk)
    inventory = Inventory.objects.get(id=pk)
    current_amount = inventory.current_amount
    order = Order.objects.get(id=pk)
    count = order.count
    status = order.status

    formset = OrderFormSet(queryset=Order.objects.none(),instance=manager)
    if request.method == 'POST':
        formset = OrderFormSet(request.POST, instance=manager)
        if formset.is_valid():
            formset.save()
            with transaction.atomic():
                if status == 'Entering':
                    current_amount-=count
                else:
                   current_amount+=count
                inventory.save()
            return redirect('/suhyun/')

    context = {'form':formset}
    return render(request, 'accounts/order_form.html', context)

这是我的代码..我想根据创建订单并在订单表中提交计数时的状态来计算 current_amount 所以..我该怎么做?

标签: djangotransactions

解决方案


推荐阅读