繁体   English   中英

为食谱 #2 创建 Django Model

[英]Creating a Django Model for a recipe #2

这是Creating a Django Model for a recipe的后续问题。 我可以 select 为一个食谱添加多种配料,但我的代码只允许选择一个与所有所选配料相关联的一般数量。 例如:(BLT 食谱)我可以 select 培根、生菜和番茄,但我不能为每一种(即培根 (1)、生菜 (1)、番茄 (2))提供不同的数量。

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

    def __str__(self):
        return self.recipe

class Ingredient(models.Model):
    '''All ingredients for any recipe or individual selection'''
    ingredient = models.CharField(max_length=50)
    department = models.ForeignKey(Department, null=True, on_delete=models.SET_NULL)

    def __str__(self):
        return self.ingredient

我的代码只允许与所有所选成分相关联的一个通用数量选择

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

    def __str__(self):
        return self.recipe

与您用英语描述的相反,您将数量与食谱相关联,而不是与成分相关联。 由于每个食谱只有一个数量没有意义,因此quantity不属于Recipe class。相反, quantity应该在Ingredient class 中,因为每种配料都有数量。

暂无
暂无

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

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