在sqlalchemy的文档中,使用关联对象
多对多http://docs.sqlalchemy.org/en/latest/orm/basic_relationships.html#association-object
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(50))
child = relationship("Child", back_populates="parents")
parent = relationship("Parent", back_populates="children")
class Parent(Base):
__tablename__ = 'left'
id = Column(Integer, primary_key=True)
children = relationship("Association", back_populates="parent")
class Child(Base):
__tablename__ = 'right'
id = Column(Integer, primary_key=True)
parents = relationship("Association", back_populates="child")
表格的名称为parent
和child
。
在这个orm场景中,sqlalchemy是否仍将rdbms意义上的这些表视为子级的父级?或者,文档的这一部分只是从页面上方隐藏了类Parent
和Child
的名称?代码似乎创造了一种对称的关系。