SQLAlchemy ORM:修改WHERE子句

时间:2013-03-29 14:41:18

标签: python orm sqlalchemy where-clause

如果我给了一个我没有构造的Query对象,有没有办法直接修改它的WHERE子句?我真的希望能够删除一些AND语句或替换查询的整个FROM子句而不是从头开始。

我知道修改SELECT子句的以下方法:

Query.with_entities(),Query.add_entities(),Query.add_columns(),Query.select_from()

我认为也会修改FROM。我看到我可以使用Query.whereclause查看WHERE子句,但文档说它是只读的。

我意识到我在用SQL术语思考,但在这一点上我比ORM更熟悉那些概念。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

你可以直接修改query._whereclause,但是我试图找到一种方法来解决这个问题 - 无论是生成Query还是应该将其分解出来,以便非whereclause版本是提供。