Django:多次保存同一表单集
这听起来可能很愚蠢,但我的视图中有一个模型的model_formset,它传递给了我的模板。在我的模板中,我将表单集放在一个循环中:Django:多次保存同一表单集,django,loops,formset,Django,Loops,Formset,这听起来可能很愚蠢,但我的视图中有一个模型的model_formset,它传递给了我的模板。在我的模板中,我将表单集放在一个循环中: <form action="generate/" method="post"> {% csrf_token %} {{ formset.management_form }} {% for count in formset_count %} <p id="{{ count }}">{{ formset
<form action="generate/" method="post">
{% csrf_token %}
{{ formset.management_form }}
{% for count in formset_count %}
<p id="{{ count }}">{{ formset }}</p>
{% endfor %}
<div class="submitbutton" style="text-align: center;">
<input type="submit" value="Submit">
</div>
</form>
这将仅保存循环中的最后一个表单集
是否可以使用modelformset_factory一次将所有5个表单集保存为具有不同值的相同表单集?我认为您的模板需要做一些工作。看起来您正在以
{{{formset}}
呈现整个表单集5次。您还可以使用forloop.counter获取顺序编号<form action="generate/" method="post">
{% csrf_token %}
{{ formset.management_form }}
{% for form in formset %}
<p id="{{forloop.counter}}">{{ form }}</p>
{% endfor %}
<div class="submitbutton" style="text-align: center;">
<input type="submit" value="Submit">
</div>
</form>
您的视图代码应该很好。我确实在尝试渲染整个表单集5次:。我的javascript通过使用id={{count}}元素确保5个表单集中的每个表单都正确完成。因此,多个表单集中的多个表单中的每一个都应该在提交时保存。在这种情况下,我认为Django无法区分这5个表单集,因此只保存最后一个表单集。为什么不将5个不同的表单集传递给模板?
<form action="generate/" method="post">
{% csrf_token %}
{{ formset.management_form }}
{% for form in formset %}
<p id="{{forloop.counter}}">{{ form }}</p>
{% endfor %}
<div class="submitbutton" style="text-align: center;">
<input type="submit" value="Submit">
</div>
</form>