SQLAlchemy版本:1.0.17
例如:
class A(Model):
id = .....
b = relationship('B')
a = db.session.query(A).options(joinloaded(B)).filter(A.id==1).first()
try:
function_maybe_raise_exception()
exception:
do_sth()
if a.b:
......
当我访问a.b
时,它会引发异常Parent instance 'A' is not bound to a Session; lazy load operation of attribute B cannot proceed
,有时会{strong} ,当function_maybe_raise_exception
引发异常时
但是显然,我具有joinloaded
属性B
,即使对象a
处于detached
状态,从理论上讲我也可以访问a.b
>
session
对象是scoped_session()
joinloaded
的关系session
的行为不可预测
3.对象a
已在其他线程中更改导致此异常?不应抛出该异常,因为我具有joinloaded
属性。但是在生产中偶尔会出现。
我出了什么问题而错过了什么吗?