我有两个用于订单和订单项的django模型阿贾克斯问题是,对于每个被激发的ajax调用,它都会为orders创建一个数据库记录行。什么我在做什么错了。谢谢你知道吗
//视图
class ProductListView(TemplateView):
def post(self,request,*args,**kwargs):
if request.is_ajax():
line_items = {}
product_id = request.POST.get("product_id")
price = request.POST.get("price")
quantity = request.POST.get("quantity")
subtotal = request.POST.get("subtotal")
grandtotal = request.POST.get("grandtotal")
products = CustomerPrice.objects.get(id=product_id)
product_name = products.product
line_items = {
"product_id":product_name,
"price":price,
"quantity":quantity,
"subtotal":subtotal,
"grandtotal":grandtotal,
}
Order.objects.place('Credit Card','Pending',
grandtotal,subtotal,125,line_items,request.user)
return super(ProductListView,self).get(request)
//模型管理器
class OrderManager(models.Manager):
def place(self,payment_method,payment_status,
grandtotal,sub_total,po_number,lineitems,username):
charge_amount = float(lineitems['grandtotal'])
order = self.create(customer=username,
sub_total=lineitems['subtotal'],
total = lineitems['grandtotal'],
charge_amount=charge_amount,
#payment_method=payment_method,
payment_status=payment_status,
order_number=po_number)
#billing_address=billing_address,
#updated_by=username,
#created_by=username)
OrderItem.objects.create(order=order,
product=lineitems['product_id'],
price=lineitems['price'],
quantity=lineitems['quantity'],
sub_total=lineitems['subtotal'],
total =lineitems['subtotal'],
#tax_rate=tax_rate,
#tax_method=tax_method,
updated_by=username,
created_by=username)
return order
我会给你一个如何实施的想法。使用有效负载发出单个ajax post请求。你知道吗
{customer: "", payment_method: "" ... line_items: [ { product_id: '101', quantity: '2', ... }, { product_id: '102', quantity: '1', ... }] }
现在在django视图中,用
customer
、payment_method
细节等创建一个Order
对象,循环遍历每个行项目并创建一个对应的OrderLineItem
对象。你知道吗相关问题 更多 >
编程相关推荐