Skip to main content
 首页 » 编程设计

python之如何在单个属性中存储多个值

2025年05月04日15傻小

我不知道我的想法是否正确,也许有人会纠正我。

假设我有一个包含以下内容的 models.py:

class Order(models.Model): 
  customer = models.foreignKey(Customer) 
  total = models.charField(max_length=10) 
  has_shipped = models.booleanField() 
 
class Product(models.Model): 
  sku = models.charField(max_length=30) 
  price = models.charField(max_length=10) 

现在,显然订单将包含产品而不仅仅是产品。将产品添加到订单的最佳方式是什么?我能想到的唯一方法是在“订单”中添加另一个名为“产品”的字段,并用 CSV 为其中的每个产品填充一个 sku。出于显而易见的原因,这并不理想,但我还不是很擅长这些东西,也不知道更好的方法是什么。

(请记住这是伪代码,所以不要介意拼写错误等)

请您参考如下方法:

您所追求的是产品和订单之间的多对多关系。

类似于:

class Order(models.Model): 
  customer = models.foreignKey(Customer) 
  total = models.charField(max_length=10) 
  has_shipped = models.booleanField() 
  products = models.ManyToManyField(Product) 

查看文档 here和 here .