SQLAlchemy:多个连接路径上的组合backref

2024-09-28 01:25:29 发布

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

假设我们有一个“People”表,其中包含“HomeAddressID”和“WorkAddressID”列。在

我们定义了一个与表“Addresses”的多连接路径关系,如下所示:

HomeAddress = relationship('Addresses', foreign-keys=[HomeAddressID])
WorkAddress = relationship('Addresses', foreign-keys=[WorkAddressID])

现在我希望我的类“Addresses”具有一个属性“People”,该属性将列出与该地址相关的所有人,而不管该地址是家庭地址还是工作地址。在

我该怎么做?在


Tags: 路径属性定义关系addresses地址keyspeople
2条回答

最简单的通用方法是使用列“person id,address id,type”为person<;->;地址映射创建一个映射表,否则DB端的工作会变得有些繁重。在

未测试,但可以添加backref:

HomeAddress = relationship('Addresses', foreign_keys=[HomeAddressID],
backref='home_address')

WorkAddress = relationship('Addresses', foreign_keys=[WorkAddressID], backref='work_address')

然后您可以:

^{pr2}$

相关问题 更多 >

    热门问题