这个问题通常是由于表单或表单集的实例化出现在for循环外部而引发的。在处理表单或表单集时,需要在循环中每次都实例化一个新的表单或表单集,而不是只使用一个实例。
例如,如果您正在处理一个名为"MyForm"的表单,并使用一个名为"formset_data"的表单集,在填充表单和表单集时,应该像下面这样:
formset_data = MyFormSet(request.POST or None) if request.method == 'POST': for data in my_data: form = MyForm(request.POST or None) form.instance.user = request.user form.instance.data = data if form.is_valid(): form.save() else: # handle invalid form
在每次循环中,我们都使用一个新的"form"实例,而不是只使用一个。这样可以确保表单和表单集中的每一行都被保存。
上一篇:表单过滤问题
下一篇:表单和列表两次渲染子视图。