Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 23, 2010 18:19:45

gonandriy
От:
Зарегистрирован: 2010-06-23
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема со списком запросов

Имется следующий код:

        books = cls.objects.all()
sql_debug = open('sql.debug', 'w')
ssql = connection.queries
c = len(ssql)
assert False
Почему так происходит, что в окне ошибки django переменная ssql показиваэться нормально (как одноелеметный список - здесь запрос “books = cls.objects.all()”) а переменная с = 0. И далее переменная ssql в программе пуста, итерации по ней не происходит, то есть for item in ssql: не испольняеться ни разу.
Таким образом я не могу сохранить и обработать данные о запросах.
Подскажите пожалуйста почему такие разноглассия? почему страница ощ=шибки показиваэт контент переменной, к которому нельзя добраться в программе?



Отредактировано (Июнь 23, 2010 18:21:25)

Офлайн

#2 Июнь 23, 2010 18:29:48

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Проблема со списком запросов

pdb пробовали использовать?

Офлайн

#3 Июнь 23, 2010 18:39:50

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Проблема со списком запросов

gonandriy
Почему так происходит,
Не верьте глазам своим:-)

Следите за руками. В коде, который вы показали, не происходит sql запроса. Поэтому с и равна 0. После того как выбрасывается исключение, начинает формироваться джанговская страница с отладочной информацией. На этой стадии, чтобы отобразить содержимое переменных на ней, происходит приведение переменной books к строке, что влечет за собой sql запрос. Именно он отобращается в ssql на той же странице.



Офлайн

#4 Июнь 23, 2010 18:45:46

gonandriy
От:
Зарегистрирован: 2010-06-23
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема со списком запросов

Попробую. Спасибо за подсказку



Офлайн

#5 Июнь 23, 2010 19:25:37

gonandriy
От:
Зарегистрирован: 2010-06-23
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема со списком запросов

Daevaorn, Большое спасибо.
Тепер понимаю



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version