Python SQLAlchemy ORM:修改WHERE子句
如果给了我一个没有构造的查询对象,有没有办法直接修改它的WHERE子句?我真的希望能够删除查询中的一些AND语句或替换整个FROM子句,而不是从头开始 我知道以下修改SELECT子句的方法: Query.with_entities(),Query.add_entities(),Query.add_columns(),Query.select_from() 我认为这也将修改从。我看到我可以用Query.WHERE子句查看WHERE子句,但是文档说它是只读的Python SQLAlchemy ORM:修改WHERE子句,python,orm,sqlalchemy,where-clause,Python,Orm,Sqlalchemy,Where Clause,如果给了我一个没有构造的查询对象,有没有办法直接修改它的WHERE子句?我真的希望能够删除查询中的一些AND语句或替换整个FROM子句,而不是从头开始 我知道以下修改SELECT子句的方法: Query.with_entities(),Query.add_entities(),Query.add_columns(),Query.select_from() 我认为这也将修改从。我看到我可以用Query.WHERE子句查看WHERE子句,但是文档说它是只读的 我意识到我是用SQL术语思考的,但在这一
我意识到我是用SQL术语思考的,但在这一点上,我比ORM更熟悉这些概念。非常感谢您提供的任何帮助。您可以直接修改查询。\u whereclause,但我会寻求一种方法,首先避免出现此问题-无论在何处生成查询,都应将其分解,以便提供非whereclause版本。我当然更愿意询问查询“到目前为止,您是什么人?”,然后从头开始重建我想要的部分,但我也不知道怎么做。我可以:
query.whereclause.clauses=[mytable.name.in(['jim','bob'])]
我运行了一个快速测试,没有出现错误。这可能会损坏任何东西吗?