我正在嘗試為配方資料庫創建 Django 模型。我無法撰寫一個模型來解釋可變數量的成分(并非每個食譜都有相同數量的成分)。這是我到目前為止所擁有的:
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
我一直在試圖弄清楚如何將一個食譜與資料庫中的多種成分相關聯。現在,我只設法為每個食譜創造了一種成分。外鍵用于描述單個成分和美食的其他創建的類。
uj5u.com熱心網友回復:
這里有兩種解決方案:
將外鍵放在成分類中:
class Ingredients(models.Model): ... recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE)這將每種成分與一個配方相關聯,并允許每個配方具有多種成分。
ManyToManyField在配方中使用 a :class Recipe(models.Model): ... ingredients = models.ManyToManyField(Ingredient)這允許您將相同的成分添加到多個食譜中,并且每個食譜都有多種成分。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/465241.html
