sqlalchemy.orm.exc.DetachedInstanceError - 女服务员金字塔中的并发问题

问题描述 投票:0回答:0

我有一个简单的查询从视图加载记录(PostgreSQL):

    rows = DBSession.query(MyView).all()

接下来,我正在处理行,将它们复制到 rows1:

    for row in rows:
        # some calculation...
        rows1.append( row )

最后,将结果返回给 jinja2 渲染器:

    return {"rows": rows1}

当并发请求很少时,在jinja渲染过程中有一些请求失败并出现这个错误:

    sqlalchemy.orm.exc.DetachedInstanceError: Instance <MyView at 0x7f1e20237790> is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/14/bhk3)

我怀疑这个问题在某种程度上与并发有关:如果我将女服务员设置为一个线程,一切正常。

有没有办法在传递给 jinja 之前强制加载所有数据?

postgresql sqlalchemy jinja2 pyramid
© www.soinside.com 2019 - 2024. All rights reserved.