Я успешно использовал встроенные наборы форм для создания формы ввода рецепта, которая состоит из формы рецепта (просто форма модели) и набора форм RecipeIngredient.Модели:
#models.py
class Recipe(models.Model):
title = models.CharField(max_length=255)
description = models.TextField(blank=True)
directions = models.TextField()
class RecipeIngredient(models.Model):
quantity = models.DecimalField(max_digits=5, decimal_places=3)
unit_of_measure = models.CharField(max_length=10, choices=UNIT_CHOICES)
ingredient = models.CharField(max_length=100, choices=INGREDIENT_CHOICES)
recipe = models.ForeignKey(Recipe)
Я хочу изменить ингредиент на следующее:
ingredient = models.ForeignKey(Ingredient)
Где ингредиент:
class Ingredient(models.Model):
title = models.CharField(max_length=100)
Я оставил views.pyбез изменений для настройки встроенного набора форм:
FormSet = inlineformset_factory(Recipe, RecipeIngredient, extra=1,
can_delete=False)
И все работало отлично ... пока я не щелкнул раскрывающийся список ингредиентов и не увидел ничего, кроме выбора "Объект ингредиента", повторяемого для каждой записи ингредиента, а не значения заголовкаЯ искал.
Есть ли способ сохранить этот прямой подход и отобразить Ingredient.title в выпадающих списках?Возникнут ли какие-либо другие проблемы с сохранением, отображением и т. Д.? * 10101
В противном случае, что мне нужно сделать, чтобы эта работа работала?
Спасибо всем.