如果我在一个模板中的几个地方使用例如{{ some_model.objects.all }}
,那么每次都会执行查询吗?如果是这样,我应该始终使用{% with some_model.objects.all as some_name %}
来避免这种情况吗?我在几个应用程序中看到了这一点,所以我想知道我是否理解正确。
答案 0 :(得分:3)
是的,它会重复查询。您应该在视图中填充上下文,而不是在模板中调用这些函数。
使用{% with %}
确实可以解决问题但是对于将来的调用,但我仍然投票支持该视图。
PS:
我强烈建议下载django-debug-toolbar
https://github.com/dcramer/django-debug-toolbar
您可以在一秒钟内测试这些想法:)