[英]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
我一直在试图弄清楚如何将一种食谱与数据库中的多种成分相关联。 现在,我只能为每个食谱制作一种配料。 外键用于描述各个成分和美食的其他创建的类。
这里有两种解决方案:
将外键放入配料class:
class Ingredients(models.Model): ... recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE)
这将每种成分与一个食谱相关联,并允许每个食谱包含多种成分。
在配方中使用ManyToManyField
:
class Recipe(models.Model): ... ingredients = models.ManyToManyField(Ingredient)
这允许您将相同的成分添加到多个食谱中,并且每个食谱都有多种成分。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.