Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 炼金术中从表到表的多对多关系_Python_Sql_Sqlalchemy - Fatal编程技术网

Python 炼金术中从表到表的多对多关系

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

我使用SQLAlchemy来表示作者之间的关系。我希望有与其他作者相关的作者(合著者HP),在关系中有额外的数据,这样通过作者
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
就足够了。文档中关于这种映射的示例说明了整个过程。

您能否给出一个示例,说明您到底想做什么?阅读你的问题有点道理,但需要更多的信息。