trade moodel, operation model
交易记录和用户操作model设计
- trade model
包含购物车,交易订单,订单商品
- 购物车中包含用户,商品,商品数。需要注意的是:
1. 一种商品只能在用户的购物车中出现一次
2. 结算后,购物车清空
# 购物车
class ShopCart(models.Model):
user = models.ForeignKey(Users, verbose_name="user")
goods = models.ForeignKey(Goods, verbose_name="goods")
goods_num = models.IntegerField(default=0, verbose_name="goods_num")
add_time = models.DateTimeField(default=datetime, verbose_name="add_time")
class Meta:
verbose_name = "ShopCart"
verbose_name_plural = verbose_name
def __str__(self):
return "%s(%d)".format(self.goods.name, self.goods_num)
交易订单
交易订单中体现订单信息,包括订单状态,用户,订单编号,金额,以及购买人信息:地址,电话,姓名
使用一个数组来保存choice类型,更直观
class OrderInfo(models.Model):
ORDER_STATUS = (
("TRADE_SUCCESS", "成功"),
("TRADE_CLOSED", "超时关闭"),
("WAIT_BUYER_PAY", "交易创建"),
("TRADE_FINISHED", "交易结束"),
("paying", "待支付"),
)
user = models.ForeignKey(Users, verbose_name="user")
order_sn = models.CharField(max_length=30, nu