Как использовать 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?

Вернуться на верх