我有一个代表简单购物清单的 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和数量,但这似乎有点笨拙。