Sqlalchemy如何清除查询中的所有过滤器

Dra*_*els 6 python orm sqlalchemy

问题。

我有这样的疑问:

qr = Session.query(models.User).filter(models.User.email == email)
Run Code Online (Sandbox Code Playgroud)

我想要做的是创建 qr2 并删除所有过滤器,在我的情况下,它相当于:

qr2 = Session.query(models.User) 
Run Code Online (Sandbox Code Playgroud)

好的解决方案可能是基于旧查询的新查询,但没有过滤器或修改旧查询。

为什么有人可能需要这个。

想象一下,您有一个复杂的查询,需要构建 3 个模块和 4k 行。您在小函数中得到的是查询对象(一个实例)。您不知道选择了哪些模型,也不知道查询的真正有效负载是什么。您知道您想要修改该查询以使其根本没有任何过滤器。

建议/解决方案?