【发布时间】:2020-01-14 16:52:03
【问题描述】:
Cart_Items , Cart , Order models 。我想要我的购物网站,在订购产品后,价值增加,但我无法访问它。
我试图通过 pr=Products.objects.all() ci=Cart_Items.filter(product_id=pr)
我的模型.py:
订购型号:
class Order(models.Model):
user = models.ForeignKey(User,blank=True,null=True,on_delete=models.CASCADE)
order_id = models.CharField( max_length=120,default="ABC",unique=True)
cart = models.ForeignKey(Cart,on_delete=models.CASCADE)
statu = models.CharField(max_length=120,choices=STATUS_CHOICES,default="Started")
产品型号:
class Products(models.Model):
title = models.CharField(max_length=250)
order_qty = models.IntegerField(default=0)
Cart_Items 模型:
class Cart_Items(models.Model):
cart = models.ForeignKey('Cart',null=True,blank=True,on_delete=models.CASCADE)
product_id = models.ForeignKey(Products,null=True,blank=True,on_delete=models.CASCADE)
购物车型号:
class Cart(models.Model):
total = models.IntegerField(default=0)
timestamp = models.DateTimeField(auto_now_add=True,auto_now=False)
date = models.DateTimeField(auto_now_add=False,auto_now=True)
isPaid = models.BooleanField(default=False)
我的意见.py:
def add(request):
cart_items=Cart_Items.objects.all()
for item in cart_items:
print(item.product_id.order_qty)
item.product_id.order_qty +=1
render(request,"home.html",{})
我想在订购产品后 order_qty 增加,我该怎么做? 我必须通过 Cart_items 来做吗?还是有其他方法? 请帮忙。
【问题讨论】:
-
通常不将
order_quantity保存在字段中。这是由相关CartItems 的数量计算得出的。 -
您应该重命名模型以使用 PascalCase 和单数形式,例如
CartItem。
标签: python django database model