我正在使用食谱应用程序,我想通过杂货店中的过道对食谱的成分进行排序。由于不同的杂货店具有不同的配置,因此我希望用户能够按所选商店对配料列表进行排序。我是Django的新手,因此一直想弄清楚我需要的模型。我想我想在Food
模型和Store
模型之间建立多对多的关系。我想我想使用through
参数,并使用另一个中介模型Location
连接“食物”和“商店”,并且还包含aisle
。
如果可能的话,我想对choices
的{{1}}进行一些描述,具体取决于aisle
对象的选择
Store
任何想法都将不胜感激。到目前为止,我非常喜欢Django,但这是我第一次使用它,所以我有些困惑。
答案 0 :(得分:0)
尝试一下。它将允许您在Aisle
中存储多个Store
,然后使用多对多关系将每个Food
分配给多个Aisle
。
class Store(models.Model):
name = models.CharField(max_length=100)
class Aisle(models.Model):
name = models.CharField(max_length=100)
store = models.ForeignKey(Store)
class Food(models.Model):
name = models.CharField(max_length=100)
aisle = models.ManytoManyField(Aisle)
class Recipe(models.Model):
name = models.CharField()
food = models.ManyToManyField(Food)
def find_in_store(self, store):
"""
Write a method here that finds a given recipe in a store, and call it with recipe.find_in_store(store). This will be a bit of a complex function, but a naive implementation (if you are running a small-scale project) would be to loop through all Aisle objects in the given store and determine whether any Food objects needed for the Recipe can be found in the given Aisle.
"""