Шаблон CreateView с полями ManyToMany

Я играю с Джанго и сталкиваюсь с проблемой, которую не могу решить. У меня есть отношения M2M между тремя таблицами, и я хочу создать CreateView. Для упрощения, скажем, у нас есть три модели:

class Ingredient(models.Model):
    name = models.Charfield(max_length=20, unique=True)

class Recipe(models.Model):
    recipe_name = models.Charfield(max_length=20, unique=True)
    ingredients = models.ManyToManyField(Ingredient, through=Units)

class Unit(models.Model):
    recipe = models.ForeignKey(Recipe, ....
    ingredient_units = models.FloatField()
    ingredient = models.ForeignKey(Ingredient, ....)

При создании нового рецепта (в шаблоне CreateView) пользователь должен ввести имя рецепта, затем должен выбрать один из текущих ингредиентов (в теге select HTML) и добавить единицы этого ингредиента (2). Кроме того, я хочу добавить кнопку, которая добавляет новую строку с выбором ингредиента и полем Unit, чтобы добавить столько строк, сколько хочет пользователь, и сохранить его.

Проблема в том, что я не знаю, как добавить поля из отношения M2M в шаблон CreateView, или как сохранить Рецепт в то же время, что и множество кортежей Units.

Это уже работает в разделе администратора:

Пример администратора

но я хочу то же самое для пользователей на переднем конце.

Тогда возникает вопрос: как я могу добавить поля из другой модели и сохранить их при сохранении формы?

0 ответов

Другие вопросы по тегам