Создание модели Django для рецепта #2
Это вопрос в продолжение темы Создание модели Django для рецепта. Я могу выбрать несколько ингредиентов для одного рецепта, но мой код позволяет выбрать только одно общее количество, которое ассоциируется со всеми выбранными ингредиентами. Например: (рецепт BLT) я могу выбрать бекон, салат и помидор, но я не могу иметь различные количества для каждого (т.е. бекон(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. Вместо этого, quantity должен быть в классе Ingredient, потому что каждый ингредиент имеет количество.