假设我们有一个包含'HomeAddressID‘和'WorkAddressID’列的'People‘表。
我们为表'Addresses‘定义了一个多连接路径关系,如下所示:
HomeAddress = relationship('Addresses', foreign-keys=[HomeAddressID])
WorkAddress = relationship('Addresses', foreign-keys=[WorkAddressID])现在我希望我的类'Addresses‘有一个属性' people’,它将列出与这个地址相关的所有人,无论它是家庭还是工作。
我该怎么做呢?
发布于 2013-06-24 13:22:31
要做到这一点,最简单的通用方法是为person<->地址映射建立一个映射表,其中包含"person id,address id,type“列,否则在DB端就会变得有点繁重。
发布于 2014-02-27 21:51:59
未经测试,但您可以添加一个backref:
HomeAddress = relationship('Addresses', foreign_keys=[HomeAddressID],
backref='home_address')
WorkAddress = relationship('Addresses', foreign_keys=[WorkAddressID], backref='work_address')然后您可以执行以下操作:
Addresses.home_address.all() or Addresses.work_address.all()https://stackoverflow.com/questions/17264006
复制相似问题