我正在开发一个现有的应用程序,它通过创建sqlalchemy.sql.selectable.Select
对象并运行它们的execute()
方法来运行sqlpostgres查询。你知道吗
我正在尝试减少这些查询的客户端内存使用,因此我想将其转换为基于会话的方法,使用sqlalchemy.orm.query.Query
对象,我可以使用yield_per()
方法来减少从服务器发送到客户端的数据量。你知道吗
为了做到这一点,我想以某种方式将sqlalchemy.sql.selectable.Select
对象直接转换成sqlalchemy.orm.query.Query
对象,这样我就不必重写代码中当前存在的所有查询。你知道吗
我找不到任何方法来执行这个转换。sqlalchemy中是否存在这样的转换功能,如果存在,在哪里可以找到它的文档?你知道吗
非常感谢。你知道吗
您可以排序将语句转换成
Query
对象,如下所示:但是这样做是错误的,因为你没有使用任何ORM特性就进入了ORM的一层。更正确的做法是在核心层解决这个问题。正确的方法是使用^{} :
它使用
BufferedRowResultProxy
来缓冲结果,这样就有了逻辑,可以连续获取上限为1000的更大批。如果需要更改此行为,则需要下拉到DBAPI层:相关问题 更多 >
编程相关推荐