【发布时间】:2012-08-24 13:09:58
【问题描述】:
我有一个代表简单购物清单的 Django 模型,如下(为简洁起见,截断)
class Meal(models.Model):
name = models.CharField(max_length = 200)
ingredients = models.ManyToManyField(Ingredient)
class GroceryList(models.Model):
name = models.CharField(max_length = 200)
meals = models.ManyToManyField(Meal)
ingredients = models.ManyToManyField(Ingredient)
这允许GroceryList 包含Meal 对象和Ingredient 对象。 (这样,当一顿饭需要食材时,列表可以将它们组合在一起。)
问题是,我希望GroceryList 能够包含相同的Meal 两次或更多。什么是最有效的解决方案?
我曾考虑将 Meal 类包装在一个对象 ('MealContainer') 中,该对象同时维护底层 Meal 以及一个数量,但这似乎有点笨拙。
【问题讨论】:
标签: python django orm django-models