繁体   English   中英

为食谱创建 Django Model

[英]Creating a Django Model for a recipe

我正在尝试为食谱数据库创建一个 Django model。 我在编写一个 model 时遇到了问题,它会考虑可变数量的成分(并非每个食谱都具有相同数量的成分)。 这是我到目前为止所拥有的:

class Recipe(models.Model):
    '''A recipe class to input new recipes'''
    recipe = models.CharField(max_length=50)
    ingredient = models.ForeignKey(Ingredient, null=True, on_delete=models.SET_NULL)
    quantity = models.CharField(max_length=1)
    cuisine = models.ForeignKey(Cuisine, null=True, on_delete=models.SET_NULL)

    def __str__(self):
        return self.recipe

我一直在试图弄清楚如何将一种食谱与数据库中的多种成分相关联。 现在,我只能为每个食谱制作一种配料。 外键用于描述各个成分和美食的其他创建的类。

这里有两种解决方案:

  1. 将外键放入配料class:

     class Ingredients(models.Model): ... recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE)

    这将每种成分与一个食谱相关联,并允许每个食谱包含多种成分。

  2. 在配方中使用ManyToManyField

     class Recipe(models.Model): ... ingredients = models.ManyToManyField(Ingredient)

    这允许您将相同的成分添加到多个食谱中,并且每个食谱都有多种成分。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM