SQLAlchemy:在WHERE子句中设置表达式的顺序

时间:2014-08-20 17:48:50

标签: python sql orm sqlalchemy

我正在对sqlalchemy语句进行一些分析(最终作为模拟实用程序的一部分)。我希望能够将where子句放入规范的顺序,以便我可以比较查询的相等性。

我已经弄清楚如何访问where子句,甚至如何获取子句的排序版本:

sorted(q.whereclause.clauses)

不幸的是,我无法弄清楚如何使用设置顺序中的where子句更新查询(或者,获取新查询)。

请不要建议对数据库执行查询以查看查询是否返回相同的数据。

1 个答案:

答案 0 :(得分:1)

事实证明,可以分配给whereclause.clauses

q.whereclause.clauses = BooleanClauseList(*sorted(q.whereclause.clauses))