【问题标题】:Using postgresql server-side cursors when using sqlachemy orm使用 sqlalchemy orm 时使用 postgresql 服务器端游标
【发布时间】:2018-04-19 02:29:39
【问题描述】:

我正在寻找使用 sqlaclhemy 的 orm 版本 (http://docs.sqlalchemy.org/en/latest/orm/tutorial.html#creating-a-session) 时使用服务器端游标的正确语法。

例如

session = SessionMaker()
res = session.query(MyModel).filter(MyModel.date.between(odate, cdate))

for obj in res:
    append_to_disk(obj)

我试过了:

stream_sessionmaker = sessionmaker(
    pg_engine.connect().execution_options(stream_results=True)
)
session = stream_sessionmaker()

无济于事。文档接缝仅记录核心版本 (http://docs.sqlalchemy.org/en/latest/core/tutorial.html) (http://docs.sqlalchemy.org/en/latest/core/connections.html#sqlalchemy.engine.Connection.execution_options.params.stream_results)

【问题讨论】:

    标签: python postgresql orm sqlalchemy


    【解决方案1】:

    你正在寻找yield_per:

    res = session.query(MyModel).filter(MyModel.date.between(odate, cdate)).yield_per(1000)
    

    【讨论】:

    • 我会暂时搁置这个问题,希望它能吸引更多的智慧,但我确实认为这正是我想要的。
    猜你喜欢
    • 2019-03-03
    • 2015-09-11
    • 2017-05-17
    • 2015-08-11
    • 1970-01-01
    • 2022-07-30
    • 1970-01-01
    • 2019-05-18
    • 2019-09-18
    相关资源
    最近更新 更多