{% with%} templatetag, чтобы избежать многократного выполнения запроса? - PullRequest
2 голосов
/ 25 февраля 2011

Если я использую, например, {{ some_model.objects.all }} в нескольких местах в одном шаблоне, будет ли выполняться запрос каждый раз?И если так, я должен всегда использовать {% with some_model.objects.all as some_name %}, чтобы избежать этого?Я видел это в нескольких приложениях, поэтому мне интересно, правильно ли я понимаю.

1 Ответ

3 голосов
/ 25 февраля 2011

Да, он повторяет запрос. Вы должны заполнить контекст в своем представлении вместо вызова этих функций в шаблоне.

Использование {% with %} действительно решает проблему, хотя и для будущих вызовов, но я все еще голосую за представление.

PS: Я настоятельно рекомендую загрузить django-debug-toolbar
https://github.com/dcramer/django-debug-toolbar

Вы можете проверить эти идеи в секунду:)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...