Django:多次保存同一表单集

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

这听起来可能很愚蠢,但我的视图中有一个模型的model_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>