Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 20, 2019 14:17:31

Ser5+
Зарегистрирован: 2019-11-18
Сообщения: 65
Репутация: +  1  -
Профиль   Отправить e-mail  

Как посмотреть реальный запрос execute?

Как посмотреть реальный запрос? Пробовал _executed и с _last_executed не работает

 zapros_asc = curs.execute(text_zaprosa_asc,(param))
print(zapros_asc)
print(curs._executed)
print(curs._last_executed)

Отредактировано Ser5+ (Ноя. 21, 2019 07:27:58)

Офлайн

#2 Ноя. 21, 2019 09:36:57

Ser5+
Зарегистрирован: 2019-11-18
Сообщения: 65
Репутация: +  1  -
Профиль   Отправить e-mail  

Как посмотреть реальный запрос execute?

Вопрос можно закрывать. Решил как посмотреть реальный запрос. Скорее всего не посмотреть реальный запрос,не ну наверно с помощью библиотек можно. Но можно попытаться посмотреть приблизительный реальный запрос до выполнения execute.

Это часть кода,таким способом тяжеловато узнать реальный запрос.

 yslovie_asc = 'where rpad(torg_naim,30)||rpad(lek_forma,50)||rpad(kolvo,10)||rpad(vlad,50) < (?)'
text_zaprosa_asc = 'select * from lp '+yslovie_asc+' '+sort_asc+' '+val_limit
zapros_asc = curs.execute(text_zaprosa_asc,(param))

Проще узнать так,чтобы сразу в запрос подставились параметры,то есть до execute
 yslovie_asc = "where rpad(torg_naim,30)||rpad(lek_forma,50)||rpad(kolvo,10)||rpad(vlad,50) >= ('%s')" %param
text_zaprosa_asc = 'select * from lp '+yslovie_asc+' '+sort_asc+' '+val_limit
print(text_zaprosa_asc)
zapros_asc = curs.execute(text_zaprosa_asc)

Но это не совсем,то что нужно,так как rpad выполняется после выполнения запроса.Что есть то есть,главное что теперь знаем какие параметры подставились,а rpad на глаз можно расчитать на сколько обрезали.

Отредактировано Ser5+ (Ноя. 21, 2019 10:04:20)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version