Python “我的模型表单集”显示已验证的表单
我想创建一个modelformset来同时记录多个表单,以便能够同时回答多个问题 只有当我备份3个问题时,这才有效。如果我返回到我的页面或是表单集,我已经保存了预填充的3个字段 我不明白为什么在我看来,我已经在我的数据库中保存的表格 这是我在数据库中保存2个字段后得到的结果。。。这再次向我显示了2之前的两个字段。。。我希望只显示两个空白表单… 我的表格: my views.py: 忽略Python “我的模型表单集”显示已验证的表单,python,django,forms,django-forms,modelform,Python,Django,Forms,Django Forms,Modelform,我想创建一个modelformset来同时记录多个表单,以便能够同时回答多个问题 只有当我备份3个问题时,这才有效。如果我返回到我的页面或是表单集,我已经保存了预填充的3个字段 我不明白为什么在我看来,我已经在我的数据库中保存的表格 这是我在数据库中保存2个字段后得到的结果。。。这再次向我显示了2之前的两个字段。。。我希望只显示两个空白表单… 我的表格: my views.py: 忽略实例参数 和我的模板: <form method="POST" action=""> {{
实例
参数
和我的模板:
<form method="POST" action="">
{{ formset.management_form }} {% csrf_token %}
<table>
{{ formset.as_p }}
</table>
<center><input type="submit" value="Submit" class="btn btn-success" />
</form>
{{formset.management_form}{%csrf_token%}
{{formset.as_p}}
当我备份数据库中的其他元素时,我该怎么做?请参见-默认情况下,表单集使用的查询集包括数据库中的所有元素。同样的文档演示了如何通过传递.none()
,创建不包含任何现有元素的表单集:
请参阅-默认情况下,表单集使用的查询集包括数据库中的所有元素。同样的文档演示了如何通过传递.none()
,创建不包含任何现有元素的表单集:
我试过用这种方法,但不是这样!现在是工作了!非常感谢!我试过用这种方法,但不是这样!现在是工作了!非常感谢!
def access(request, instance):
replies = Reply.objects.all()
pages = Page.objects.all()
numPages = Page.objects.get(pk=instance)
questions = Question.objects.filter(page=instance)
length_questions = len(questions)
ReplyFormSet = modelformset_factory(model=Reply, form=ReplyForm, extra=length_questions)
logged_user = get_logged_user_from_request(request)
if request.method == 'POST':
formset = ReplyFormSet(request.POST)
if formset.is_valid():
formset.save()
return HttpResponse('Successfully')
else:
return HttpResponseRedirect('/baseVisite/')
else:
formset = ReplyFormSet()
return render_to_response('polls/access.html', {
'formset': formset,
'questions':questions,
'logged_user':logged_user,
'numPages' : numPages
})
<form method="POST" action="">
{{ formset.management_form }} {% csrf_token %}
<table>
{{ formset.as_p }}
</table>
<center><input type="submit" value="Submit" class="btn btn-success" />
</form>
if request.method == 'POST':
formset = ReplyFormSet(request.POST, queryset=Reply.objects.none())
if formset.is_valid():
...
else:
formset = ReplyFormSet(queryset=Reply.objects.none())