我有一个代表简单购物清单的 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)
这允许 aGroceryList
包含Meal
对象和Ingredient
对象。(这样,当一顿饭需要时,列表可以将成分组合在一起。)
问题是,我希望 aGroceryList
能够包含Meal
两次或更多相同的内容。什么是最有效的解决方案?
我曾考虑将类包装Meal
在一个对象 (' MealContainer
') 中,该对象同时维护基础Meal
和数量,但这似乎有点笨拙。