Как использовать Django's ModelForm для установки данных в полях, добавленных сквозной таблицей ManyToManyField?
В models.py
:
ingredient_name = models.CharField(primary_key=True, max_length=50)
category = models.CharField(max_length=50)
stock = models.IntegerField()
unit = models.CharField(max_length=10)
def __str__(this):
return this.ingredient_name
class Recipe(models.Model):
recipe_name = models.CharField(primary_key=True, max_length=50)
ingredients = models.ManyToManyField(Ingredient, through='RecipeIngredient')
sales_price = models.IntegerField()
def __str__(this):
return this.recipe_name
class RecipeIngredient(models.Model):
recipe_name = models.ForeignKey('Recipe', models.CASCADE)
ingredient_name = models.ForeignKey('Ingredient', models.CASCADE)
quantity = models.IntegerField()
В forms.py
:
class RecipeFormCreate(ModelForm):
class Meta:
model = Recipe
fields = ('recipe_name', 'ingredients', 'sales_price')
Созданная форма выглядит следующим образом: Форма, созданная RecipeFormCreate, с полем "Ingredients", содержащим список элементов, которые можно выбрать
Есть ли способ позволить конечному пользователю этого продукта установить количество ингредиента (поле, добавленное моделью RecipeIngredient
) в форме RecipeFormCreate
?