Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 7, 2010 16:45:13

walter
От:
Зарегистрирован: 2008-11-22
Сообщения: 46
Репутация: +  0  -
Профиль   Отправить e-mail  

SQLAlchemy динамические селекты

Ковыряю SQLAlchemy, но пока еще не достаточно разобрался, потому и вопрос. Нужно делать query к нескольким таблицам, но практически всякий раз колличество таблиц, к которым будет выполняться запрос, различно, т.е., например, первый раз session.query(tbl_one, tbl_two), второй раз session.query(tbl_one, tbl_two, tbl_three, tbl_four), третий раз session.query(tbl_one) и т.д. Как сделать вызов session.query каждый раз только с необходимыми таблицами?



Офлайн

#2 Дек. 7, 2010 18:37:04

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

SQLAlchemy динамические селекты

Ничего не ясно. Почему у вас таблицы, а не связанные через mapper классы, и как вы строите запрос?



Офлайн

#3 Дек. 7, 2010 19:23:04

walter
От:
Зарегистрирован: 2008-11-22
Сообщения: 46
Репутация: +  0  -
Профиль   Отправить e-mail  

SQLAlchemy динамические селекты

Да, я просто еще не освоился с терминологией. Не таблицы, а классы.



Офлайн

#4 Дек. 7, 2010 19:59:33

walter
От:
Зарегистрирован: 2008-11-22
Сообщения: 46
Репутация: +  0  -
Профиль   Отправить e-mail  

SQLAlchemy динамические селекты

Тема закрыта. Простите, что не совсем корректно задал вопрос. Мне следовало сделать что-то вроде следующего:

tbls = (tbl_one, tbl_two, tbl_three)
result = Query(tbls, session).outerjoin(tbls[1]).outerjoin(tbls[2]).order_by.(tbls[0])
Т.е. при формировании запроса мне следовало создать кортеж классов и передать его в запрос. Я же делал список и получал ошибку.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version