我有代表一個簡單的購物清單一個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
,旁邊一個數量,但似乎有點重手。
來到這裏來提示這一點。你可能還想實現一個自定義的count()方法,它考慮到了這一點... – bdeniker
這看起來很完美,我會給它一個鏡頭。謝謝 –