Псевдоним объекта sqlalchemy.text - PullRequest
0 голосов
/ 28 октября 2018

Я пытаюсь разрешить пользователям вводить запрос в пользовательском интерфейсе, а затем добавить его в предложение FROM моего sqlalchemy.После просмотра функции from_self объекта запроса в документах я попытался:

Query.from_statement(text("select * from test_table")).from_self()

и:

alias(text("select * from test_table"), name="some_name")

и:

text("select * from test_table").label(name="some_name")

Ничего из этого не сработало.Я пытаюсь получить запрос, подобный этому:

(SELECT * FROM test_table) AS some_name

1 Ответ

0 голосов
/ 28 октября 2018

После долгих хлопот нашел способ сделать это следующим образом:

alias(TextAsFrom(text("SELECT * FROM test_table"), columns), name='some_name')

Это возможно благодаря TextAsFrom, который можно найти глубоко в документации здесь .Одним из недостатков этого метода является то, что вы должны предоставить объекты столбцов, чтобы это работало (вы можете увидеть переменную столбцов в моем коде.) Я работал над этим, запрашивая таблицу только для столбцов, а затем создавая объект столбца для каждого столбца встол.

Приветствия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...