Выберите как в sqlalchemy - PullRequest
       9

Выберите как в sqlalchemy

21 голосов
/ 26 августа 2010

Я хочу сделать что-то вроде этого:

select username, userid, 'user' as new_column  from  users_table.

Столбцы таблицы можно выбрать с помощью sqlalchemy следующим образом:

query = select([users_table.c.username, users_table.c.userid])

Как мне выбрать x как col_x к запросу в sqlalchemy?

Ответы [ 3 ]

42 голосов
/ 12 июля 2012

используйте это: users_table.c.userid.label('NewColumn')

т.е.

query = select([users_table.c.username, users_table.c.userid.label('NewColumn')])

оценивается как:

SELECT username , userid as NewColumn From MyTable;
5 голосов
/ 26 августа 2010

Может быть, literal_column?

query = select([users_table.c.username, users_table.c.userid, literal_column("user", type_=Unicode).label('new_column')])

См. http://www.sqlalchemy.org/docs/reference/sqlalchemy/expressions.html#sqlalchemy.sql.expression.literal_column

Edit: на самом деле я должен был сказать «буквально»:

query = select([users_table.c.username, users_table.c.userid, literal("user", type_=Unicode).label('new_column')])
0 голосов
/ 26 августа 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...