这是我模拟购物车的方式。 我有一张产品表,一个"临时"订单完成后删除的购物车。还有我的CompleteOrders列表,其中包含用户每个订单的数据。 问题是,当我修改产品的价格或名称时,它也会在CompleteOrders列表中更改。有没有办法避免这种情况?
class Product(models.Model):
name = models.CharField(max_length=30)
price = models.IntegerField()
class Cart(models.Model):
product = models.ForeignKey(Product)
class CompleteOrders(models.Model):
product = models.ForeignKey(Product)
我的方法是在CompleteOrder中存储产品的信息,而不是使用FK,但我没有看到非常优化。
提前致谢。
答案 0 :(得分:0)
外键是指另一个表,它将始终显示当前数据。你无法避免这种情况。除了在订单完成时存储产品数据,别无他法。
我通常使用JSON数据类型来存储此类信息。