*购物车需求
单独的购物车页面
购物车可以调整商品数量
商品页面可以添加至购物车
购物车可以删除商品
查看所选商品的信息及金额
匿名用户也可以使用购物车
代码
class CartItem(models.Model):
cart_id = models.CharField(max_length=50) #相同cart_id的CartItem是同一个购物车里的
date_added = models.DateTimeField(auto_now_add=True)
quantity = models.IntegerField(default=1)
# 避免循环引用
product = models.ForeignKey('catalog.Product', unique=False)
class Meta:
db_table = 'cart_items'
ordering = ['date_added']
def total(self):
return self.quantity*self.product.price
def name(self):
return self.product.name
def price(self):
return self.product.price
def get_absolute_url(self):
return self.product.get_absolute_url()
def augment_quantity(self, quantity):
self.quantity += int(quantity)
self.save()