别名sqlalchemy.text对象

时间:2018-10-28 10:58:14

标签: python sql sqlalchemy

我试图允许用户在用户界面中输入查询,然后将其添加到我的sqlalchemy的FROM子句中。 在查看docs中查询对象上的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 :(得分:0)

经过很多麻烦之后,找到了一种这样做的方法:

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

这是有可能的,因为可以在文档here的深处找到TextAsFrom。此方法的一个缺点是,必须为此提供列对象才能工作(您可以在我的代码中看到columns变量。)我通过仅查询表中的列然后为其中的每个列创建一个列对象来解决此问题。桌子。

干杯。