我正在涉及Django,我遇到了一个我无法解决的问题。我有三个表之间的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模板中),用户应该引入配方名称,然后必须选择一个当前成分(在选择的HTML标记中)并添加该成分的单位(2)。另外,我想添加一个按钮,添加一个带有Ingredient选择的新行和一个Unit字段,以添加用户想要的行数,并保存它。
问题是,我不知道如何将M2M关系中的字段添加到CreateView模板,也不知道如何在许多单位元组的同时保存配方。
这已经在管理部分工作了:
但我希望前端的用户也一样。
问题是:如何在其他模型中添加字段并在表单保存时保存它们?