组织django Recipe应用程序模型的最佳方法,包括配料、配方和组件

组织django Recipe应用程序模型的最佳方法,包括配料、配方和组件,django,django-models,model,Django,Django Models,Model,希望这里能有一些关于如何构建一个新的应用程序(学习项目)来帮助厨师制作食谱的反馈 配方是特定数量的成分(例如:1c糖)和/或成分(一小部分成分。例如:简单糖浆,即1c糖+1c水的配方) 对于我的模型,以下是我的想法: class Ingredient(models.Model): name = models.CharField(max_length=150) ... class Recipe(models.Model): FULL = 1 COMPONENT

希望这里能有一些关于如何构建一个新的应用程序(学习项目)来帮助厨师制作食谱的反馈

配方是特定数量的成分(例如:1c糖)和/或成分(一小部分成分。例如:简单糖浆,即1c糖+1c水的配方)

对于我的模型,以下是我的想法:

class Ingredient(models.Model):
    name = models.CharField(max_length=150)
    ...


class Recipe(models.Model):
    FULL = 1
    COMPONENT = 2
    TYPE_CHOICES = (
        (FULL, 'Full Recipe'),
        (COMPONENT, 'Component'),
    )

    name = models.CharField(max_length=150)
    type = models.IntegerField(choices=TYPE_CHOICES, default=FULL)
    ...


class RecipeIngredient(models.Model):
    recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE)
    ingredient = models.ForeignKey(Ingredient, on_delete=models.CASCADE)
    amount = models.FloatField()
    ...
我的问题是我不确定如何解释成分(多个配方中使用的成分子集)。我已经做了一个
配方。键入
,因为这才是真正的配方,但不确定如何在我的
RecipeingCredit
模型中说明这一点


我可以将
component=models.ForeignKey(Recipe)
添加到我的
recipeCredit
模型中,并使用该或成分。只是猜测而已。有人有更好的建议吗?

这看起来有点复杂。你确定厨师真的想这样定义配料和用量吗

我将从以下简单的内容开始:

class Recipe(models.Model):
    author = models.ForeignKey(to=User, on_delete=models.CASCADE)
    name = models.CharField(max_length=150)
    description = models.TextField() # <-- Ingredients, amounts, etc. 
类配方(models.Model):
author=models.ForeignKey(to=User,on_delete=models.CASCADE)
name=models.CharField(最大长度=150)

description=models.TextField()#是的,我和一位厨师一起工作,他们100%希望数据结构化。