barabansheg
Июнь 2, 2013 21:31:30
Доброго времени суток! :)
Обратил внимание на одну вещь:
Если выбрать из таблицы что-то, например, u = User.objects.get(id = 1), а затем в views.py прописать что-то вроде:
a = u.login
b = u.email
То на каждое присовение аттрибута произойдет запрос в бд(смотрю через django.db.connection.queries )
А если я перменную “u” передам в шаблон и уже там обращусь к u.login и u.email тоже произойдет запрос на каждый аттрибут?
FishHook
Июнь 3, 2013 05:32:22
barabansheg
То на каждое присовение аттрибута произойдет запрос в бд
Нет, не произойдет. Я не знаю куда и чем ты смотришь, но запрос будет один.
magnet85
Июнь 3, 2013 09:00:38
barabansheg
Июнь 3, 2013 10:10:36
Я делал так:
в views.py
from django.db import connection
u = User.objects.get(id = 1)
a = u.login
b = u.email
queries = connection.queries
queries передавал в шаблон и вычислял его длинну( {{ queries|length }} получал 3 запроса. Убирал a = u.login получал 2 запроса. Дома после работы буду- еще гляну. Может чего и накосячил)
FishHook
Июнь 3, 2013 10:12:38
поставь дебаг-тулбар и не парься