保存分页的django表单集时引发多值DictKeyError
我删除了前面的问题,并发布了一个新的问题,因为在做了一些简化之后,我使代码更加简洁,以减少可能的原因(具体来说,我删除了重组部分) 我使用Django无止境分页(Twitter风格)来呈现Django表单集表。在我尝试保存用户输入并最终出现保存分页的django表单集时引发多值DictKeyError,django,pagination,formsets,Django,Pagination,Formsets,我删除了前面的问题,并发布了一个新的问题,因为在做了一些简化之后,我使代码更加简洁,以减少可能的原因(具体来说,我删除了重组部分) 我使用Django无止境分页(Twitter风格)来呈现Django表单集表。在我尝试保存用户输入并最终出现多值dictKeyError:“u'form-10-id'”之前,一切正常。请不要说它不是“u'form-0-id'”,而是10(十),这意味着问题不是由缺少隐藏字段引起的 模板: <table> <thead>...
多值dictKeyError:“u'form-10-id'”
之前,一切正常。请不要说它不是“u'form-0-id'”,而是10(十),这意味着问题不是由缺少隐藏字段引起的
模板:
<table>
<thead>...
</thead>
<tbody>
{% load el_pagination_tags %}
{{ my_formset.management_form }}
{% paginate my_formset %}
{% for form in my_formset %}
<tr>
<td>
{% for hidden in form.hidden_fields %}
{{ hidden }}
{% endfor %}
</td>
....
</tr>
{% endfor %}
</tbody>
</table>
如果我从模板中删除{%paginate my_formset%}
,从而放弃无休止的分页,那么一切都可以正常工作。我试图交换行{%paginate my_formset%}
和{{my_formset.management_form}}
,但仍然没有成功(在本例中,Django抛出了一个看似合理的缺少管理表单的错误
直觉上,核心原因是分页不允许呈现第十个表单,而且很明显,Django无法找到隐藏字段。但我不知道如何修复它嘿,你在这方面取得了进展吗?我遇到了完全相同的问题!Cheeshey,你在这方面取得了进展吗?我遇到了完全相同的问题!干杯
def view_for_saving_input(request):
qs = MyModel.objects.filter(...)
FormSet = modelformset_factory(MyModel, form = MyModelForm, can_delete=False, extra = 0)
my_formset = FormSet(request.POST, request.FILES)
# Also tried my_formset = FormSet(request.POST, queryset = qs)
# no difference
for form in my_formset: # MultiValueDictKeyError: "u'form-10-id'"
if form.is_valid():
form.save()
return HttpResponse(True)