Python Django表单集:仅保存表单集的第一个表单
子任务FORMSET是我的子任务表单,我无法正确保存 在html模板中,我动态添加/删除与我的表单集元素对应的输入,问题是:只保存来自de-formset的第一个表单。这就是表单集的创建方式(extra=1在页面加载时显示1个输入) 这就是我在“获取上下文数据”方法中将表单集从模板视图传递到上下文dict的方式Python Django表单集:仅保存表单集的第一个表单,python,django,django-forms,inline-formset,Python,Django,Django Forms,Inline Formset,子任务FORMSET是我的子任务表单,我无法正确保存 在html模板中,我动态添加/删除与我的表单集元素对应的输入,问题是:只保存来自de-formset的第一个表单。这就是表单集的创建方式(extra=1在页面加载时显示1个输入) 这就是我在“获取上下文数据”方法中将表单集从模板视图传递到上下文dict的方式 context['form_sub_tasks'] = SubTaskFormSet(self.request.POST or None) 保存任务表单和表单集的表单: if
context['form_sub_tasks'] = SubTaskFormSet(self.request.POST or None)
保存任务表单和表单集的表单:
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">
所以我的问题是:我如何才能更改这个表单输入总量,以便从表单集中保存多个表单?当然可以通过javascript或手动完成,但我正在寻找更好的方法来完成它。我知道的唯一方法是通过类似javascript的方式。我最终使用了它的自定义实现,因为它不是超级灵活的。
<input name="sub_tasks-TOTAL_FORMS" value="1" id="id_sub_tasks-TOTAL_FORMS" type="hidden">