Django Formset:只保存formset的第一种形式

时间:2018-03-14 19:08:01

标签: python django django-forms inline-formset

SubTaskFormSet 是我的子任务 表单,我无法正常保存。

在html模板中,我动态添加/删除与我的formset元素对应的输入,问题是:只保存de formset中的第一个表单。这是它创建formset的方式(extra = 1在页面加载时显示1个输入)。

SubTaskFormSet = inlineformset_factory(Task, SubTask, form=SubTaskCreateForm, extra=1)

这是我从 TemplateView

将“formset”传递给“get_context_data”方法中的上下文字典的方式
context['form_sub_tasks'] = SubTaskFormSet(self.request.POST or None)

保存formset的任务表单和表单:

    if all((task.is_valid(), sub_tasks.is_valid())):
        task.user = self.request.user
        task = task.save()
        sub_tasks.instance = task
        sub_tasks.save()

我注意到,当此字段的值发生更改时,formset中的等效表单数已成功保存在数据库中。

<input name="sub_tasks-TOTAL_FORMS" value="1" id="id_sub_tasks-TOTAL_FORMS" type="hidden">

所以我的问题是:如何更改此TOTAL_FORMS输入以便从formset中保存多个表单?当然可以通过javascript或手动完成但我正在搜索更好的方法来实现它。

0 个答案:

没有答案