Форум сайта python.su
Доброго времени суток! :)
Обратил внимание на одну вещь:
Если выбрать из таблицы что-то, например, u = User.objects.get(id = 1), а затем в views.py прописать что-то вроде:
a = u.login
b = u.email
То на каждое присовение аттрибута произойдет запрос в бд(смотрю через django.db.connection.queries )
А если я перменную “u” передам в шаблон и уже там обращусь к u.login и u.email тоже произойдет запрос на каждый аттрибут?
Отредактировано barabansheg (Июнь 2, 2013 21:32:00)
Офлайн
barabanshegНет, не произойдет. Я не знаю куда и чем ты смотришь, но запрос будет один.
То на каждое присовение аттрибута произойдет запрос в бд
Офлайн
Должен быть 1 запрос, можно написать тест и посчитать количество запросов
https://docs.djangoproject.com/en/dev/topics/testing/overview/#django.test.TransactionTestCase.assertNumQueries
Офлайн
Я делал так:
в views.py
from django.db import connection u = User.objects.get(id = 1) a = u.login b = u.email queries = connection.queries
Офлайн
поставь дебаг-тулбар и не парься
Офлайн