【发布时间】:2023-03-09 09:19:01
【问题描述】:
例如,假设我们有一个带有Pizza 和Toppings 的webapp。
一个披萨可以有很多配料,但一个配料不能有很多披萨,目前看来这是合乎逻辑的。
我正在使用下面这样的结构,但我不确定我应该使用ManyToMany 字段还是ForeignKey,因为 Django 上不存在 OneToMany。
class Pizza(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
order_id = models.CharField(max_length=255)
def __str__(self):
return self.order_id
class Topping(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
custom_topping_name = models.CharField(max_length=255)
pizza = models.ForeignKey(Pizza, on_delete=models.CASCADE) #if a pizza is deleted, delete its toppings.
def __str__(self):
return self.topping_name
如果我做对了,我应该像这样吃披萨和所有的配料吗?
pizzas = Pizza.topping_set.filter(order_id=my_order_id)
有没有更好的方法或者保持这样的最佳方式?
【问题讨论】:
标签: python django data-structures