join上的SQLAlchemy条件失败,并返回attributeRor:“BinaryExpression”对象和“Comparator”对象都没有“selectable”属性

2024-04-28 23:57:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我在用金字塔运行SQLAlchemy。我正在尝试运行具有自定义“join”条件的查询:

DBSession.query(A)\
        .outerjoin(A.b, B.a_id == A.id)\
        .all();

但是,查询失败,出现以下错误:

AttributeError: Neither 'BinaryExpression' object nor 'Comparator' object has an attribute 'selectable'

问题源于条件,就像我移除它一样,查询工作:

DBSession.query(A)\
        .outerjoin(A.b)\
        .all();

我不理解这个问题,因为我遵循the documentation中描述的语法:

q = session.query(User).join(Address, User.id==Address.user_id)

有人看到发生了什么吗?


Tags: idobjectsqlalchemyaddress错误all条件query