我希望在单个页面上同时编辑多个模型。我没有使用表单集,而是让它与我在视图中的模板中循环的表单数组一起使用:{% extends 'app_base.html' %} {% block content %}<p>{{message}}</p><form method="post">{% csrf_token %} {% for form in forms %}{{ form.as_p }}{% endfor %} <input type="submit" value="Submit" /></form>{% endblock %}但是,烦人的是,我无法在输出中看到我正在编辑的内容,因为它只是一堆没有标签的文本框。因此,有什么方法可以在我循环时访问表单旁边的模型属性,例如:{% for form in forms %}{{form.object.name}}: {{ form.as_p }}{% endfor %}
1 回答
白衣染霜花
TA贡献1796条经验 获得超10个赞
如果您ModelForm对所有表单都使用 a ,则需要使用正在更新的模型实例 ( MyForm(data=request.POST, instance=...))对其进行初始化。
您可以访问instance表单的 ,它只是表单上的一个属性:form.instance。
请注意,它始终存在于 上ModelForm,即使您instance在初始化时没有传递 an 。在这种情况下,它是表单模型的初始化实例,而不是保存实例。所以form.instance.pk = None在那种情况下。
添加回答
举报
0/150
提交
取消
