创建无多次查询的Django表单集
我需要在一个页面上显示多个表单(最多10个),这是我用来实现这个功能的代码。
TheFormSet = formset_factory(SomeForm, extra=10)
...
formset = TheFormSet(prefix='party')
return render_to_response('template.html', {
'formset' : formset,
})
问题是,我感觉Django在每个表单中都要查询数据库,即使它们显示的数据是一样的。
这就是表单组(Formsets)的工作方式吗?还是我做错了什么?在Django里面有没有解决办法,还是我必须用JavaScript来绕过这个问题?
3 个回答
0
你确定Django真的在查询数据库吗?试试使用Django调试工具栏,看看Django实际执行了哪些查询。
1
如果你的查询都是一样的,可以考虑看看 johnny-cache,看看它能否提升你的性能。
1
如果你用 modelformset_factory
代替 formset_factory
会发生什么?这样做有帮助吗?