Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python SQLAlchemy ORM:修改WHERE子句_Python_Orm_Sqlalchemy_Where Clause - Fatal编程技术网

Python SQLAlchemy ORM:修改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术语思考的,但在这一

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

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

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

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


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

您可以直接修改查询。\u whereclause,但我会寻求一种方法,首先避免出现此问题-无论在何处生成查询,都应将其分解,以便提供非whereclause版本。

我当然更愿意询问查询“到目前为止,您是什么人?”,然后从头开始重建我想要的部分,但我也不知道怎么做。我可以:
query.whereclause.clauses=[mytable.name.in(['jim','bob'])]
我运行了一个快速测试,没有出现错误。这可能会损坏任何东西吗?