Python 炼金术中从表到表的多对多关系
我使用SQLAlchemy来表示作者之间的关系。我希望有与其他作者相关的作者(合著者HP),在关系中有额外的数据,这样通过作者Python 炼金术中从表到表的多对多关系,python,sql,sqlalchemy,Python,Sql,Sqlalchemy,我使用SQLAlchemy来表示作者之间的关系。我希望有与其他作者相关的作者(合著者HP),在关系中有额外的数据,这样通过作者a我可以找到他们的合著者 如何在两个不同对象之间执行此操作: class Association(Base): __tablename__ = 'association' left_id = Column(Integer, ForeignKey('left.id'), primary_key=True) right_id = Column(Inte
a
我可以找到他们的合著者
如何在两个不同对象之间执行此操作:
class Association(Base):
__tablename__ = 'association'
left_id = Column(Integer, ForeignKey('left.id'), primary_key=True)
right_id = Column(Integer, ForeignKey('right.id'), primary_key=True)
extra_data = Column(String(80))
child = relationship('Child', backref='parent_assocs')
class Parent(Base):
__tablename__ = 'left'
id = Column(Integer, primary_key=True)
children = relationship('Association', backref='parent')
class Child(Base):
__tablename__ = 'right'
id = Column(Integer, primary_key=True)
但在我的情况下,我该怎么做呢
合著的本质是双向的。那么,当您通过一个coauthoship对象将元组
(id\u left,id\u right)
插入到coauthorship表中时,是否有一种方法可以轻松地插入反向关系?我问这个问题是因为我想使用关联代理。如果你想在关联中有成对的行,也就是说,对于插入的每一个id\u left,id\u right
,你也要插入一个id\u right,id\u left
,你要使用一个来监听两边的附加事件,并在另一个方向生成一个追加
如果您只想在父级/子级之间的任意方向导航,只需一行id\u left,id\u right
就足够了。文档中关于这种映射的示例说明了整个过程。您能否给出一个示例,说明您到底想做什么?阅读你的问题有点道理,但需要更多的信息。