Sqlalchemy 当一个表中的两列的外键引用同一个表时,如何连接它们?

Sqlalchemy 当一个表中的两列的外键引用同一个表时,如何连接它们?,sqlalchemy,Sqlalchemy,我有两个表,一个叫做位置,另一个叫做工作包,如图所示: 我希望能够查询work\u packages表中的一行,并获取与外键location\u a和location\u z关联的列。我所尝试的一切都导致了错误 我当前的模型如下所示: 这就是我一直在做的一个查询: 执行查询: 现在,我尝试了模型和查询的一些变体,但没有任何效果。我得到了一些错误,比如“Column没有属性映射器”和许多不同色调的“AmbiguousForeignKeyError” 错误消息表明,我需要更具体地说明这两个表

我有两个表,一个叫做
位置
,另一个叫做
工作包
,如图所示:

我希望能够查询
work\u packages
表中的一行,并获取与外键
location\u a
location\u z
关联的列。我所尝试的一切都导致了错误

我当前的模型如下所示:

这就是我一直在做的一个查询:

执行查询:

现在,我尝试了模型和查询的一些变体,但没有任何效果。我得到了一些错误,比如“Column没有属性映射器”和许多不同色调的“AmbiguousForeignKeyError”

错误消息表明,我需要更具体地说明这两个表应该如何联接,但如果要以正确的方式联接,我就不知所措了


真的需要一些指导,谢谢。

您是否尝试在关系中明确设置primaryjoin?例如:

a_side_name = relationship('locations', primaryjoin='locations.uid==work_packages.location_a')
z_side_name = relationship('locations', primaryjoin='locations.uid==work_packages.location_z')