在查询结果中添加自己的文字字符串作为附加字段 - SQLAlchemy

bl7*_*l79 1 python sqlalchemy

如何在 SQLAlchemy ORM 中模拟以下原始 SQL?

SELECT "http://example.com/page/"||table.pagename as pageUrl
Run Code Online (Sandbox Code Playgroud)

需要从表中获取值,使用 ORM/Python 进行修改(这里只是字符串连接),然后将 SQLAlchemy 查询的结果作为附加字段输出。

Ilj*_*ilä 5

SQLAlchemy 字符串类型具有运算符重载,允许您像处理本例中的 Python 字符串(字符串连接)一样对待它们,但会生成 SQL 表达式:

session.query(
        Table,
        ("http://example.com/page/" + Table.pagename).label("pageUrl"))
Run Code Online (Sandbox Code Playgroud)

您可以在这里阅读有关 SQLAlchemy 运算符范例的更多信息:http://docs.sqlalchemy.org/en/latest/core/tutorial.html#operators

  • 当然,由于除了从 f 字符串生成字符串之外没有其他方法,因此如果可能的话,重载字符串格式通常会有点毫无意义,因为它几乎不可能以方言不可知的方式支持。 (2认同)