我在 Django 中为我的表单使用两个模型时遇到了问题。我有两个模型,动物和家庭,都有一个“名称”字段。
我在我的表单模板上使用了两个模型表单,当它被提交时,'name' 的 POST 数据只返回一个值。
没有在我的模型中重命名“名称”字段,有什么办法解决这个问题吗?
谢谢你的帮助。这是我在这里的第一篇文章。
您可以在初始化模型表单时使用前缀参数;
animal_form = AnimalForm(request.POST or None, prefix="animal")
family_form = FamilyForm(request.POST or None, prefix="family")
这将输出类似的东西;
<input id="id_animal-name" type="text" />
<input id="id_family-name" type="text" />
您可以使用request.POST.getlist获取同名的不同 POST 值。
但是,正确的值将取决于表单中输入字段的位置(我猜),这真的不是一个好主意。更改字段的名称,不是在模型中,而是在您的表单类中(希望您使用一个)。