【问题标题】:Can SQLAlchemy use the "from only" clause of PostgreSQL?SQLAlchemy 可以使用 PostgreSQL 的“from only”子句吗?
【发布时间】:2012-08-14 09:33:48
【问题描述】:

我需要在选择查询中使用 PostgreSQL only 子句。我可以用 SQLAlchemy 做到这一点吗?

【问题讨论】:

    标签: python sql postgresql sqlalchemy


    【解决方案1】:

    是的,只要您使用 SQLAlchemy 0.8.0 或更高版本(请参阅issue 2506)。

    ONLY 关键字被实现为选择提示:

    result = table.select().with_hint(table, 'ONLY', 'postgresql')
    

    或者在使用 ORM 层时,在查询对象上使用:

    session.query(...).with_hint(MappedClass, 'ONLY', 'postgresql')
    

    【讨论】:

    • 使用session.query(MyTable)时也可以吗?或者这只适用于 SQLAlchemy 的 SQL 部分?如果是这样,是否可以为所有表在某个地方全局设置它?我正在玩temporal_tables 扩展,这将有助于避免UPDATE 语句发生事故。
    • 这适用于定义with_hint() 的任何对象,包括查询。所以session.query(MyTable).with_hint(MyTable, 'ONLY', 'postgresql') 应该可以工作。
    猜你喜欢
    • 2015-10-19
    • 1970-01-01
    • 1970-01-01
    • 2022-06-23
    • 2011-02-25
    • 1970-01-01
    • 2013-08-16
    • 2011-02-14
    • 2018-04-07
    相关资源
    最近更新 更多