如何循环查询集以实例化所有表单集?
How to loop over a queryset for instantiate all formset?
我希望我可以创建一个循环,使我能够实例化我现在编写的所有表单集
def access(request, page_id):
if request.method == 'POST':
formset = ReplyFormSet(request.POST, request.FILES, initial=[{'instance':instance,}])
if formset.is_valid():
#...
return ...
else:
formset = ReplyFormSet(queryset=Reply.objects.filter(question=questions))
return ...
在最后一行,我恢复了数据库中的信息,但只是为了我的第一个表格!有没有办法做一个循环,以便它实例化我所有的形式?
我尝试过类似的方法,但它不起作用:
else:
for form in formset:
form.formset = ReplyFormSet(queryset=Reply.objects.filter(question=questions))
return ...
此行仅适用于我的第一个表单:
formset = ReplyFormSet(queryset=Reply.objects.filter(question=questions))
我该怎么做才能完全影响它?
我应该更改 ReplyForm 的 init 函数吗?
你可以试试:
formset = ReplyFormSet(queryset=Reply.objects.filter(question__in=questions))
使用 in
过滤器,您可以获得 questions
查询集中的每个 question
。
我希望我可以创建一个循环,使我能够实例化我现在编写的所有表单集
def access(request, page_id):
if request.method == 'POST':
formset = ReplyFormSet(request.POST, request.FILES, initial=[{'instance':instance,}])
if formset.is_valid():
#...
return ...
else:
formset = ReplyFormSet(queryset=Reply.objects.filter(question=questions))
return ...
在最后一行,我恢复了数据库中的信息,但只是为了我的第一个表格!有没有办法做一个循环,以便它实例化我所有的形式?
我尝试过类似的方法,但它不起作用:
else:
for form in formset:
form.formset = ReplyFormSet(queryset=Reply.objects.filter(question=questions))
return ...
此行仅适用于我的第一个表单:
formset = ReplyFormSet(queryset=Reply.objects.filter(question=questions))
我该怎么做才能完全影响它?
我应该更改 ReplyForm 的 init 函数吗?
你可以试试:
formset = ReplyFormSet(queryset=Reply.objects.filter(question__in=questions))
使用 in
过滤器,您可以获得 questions
查询集中的每个 question
。