我在配置与模型本身的多对多关系时遇到问题。当我使用正常的关系配置时,我可以配置自多对多关系,即不使用关联对象的关系。
在这种情况下,我必须在多对多表本身中记录一些额外的信息,因此我尝试使用关联对象(PageLink)来实现关系。
这是模型。
class PageLink(Base):
'''
Association table.
'''
__tablename__ = 'page_links'
id = Column(Integer,primary_key=True)
page_from = Column(Integer,ForeignKey('page.id'),primary_key=True)
page_to = Column(Integer,ForeignKey('page.id'),primary_key=True)
extra_col1 = Column(String(256),nullable=False)
class Page(Base):
'''
main table
'''
__tablename__ = 'page'
id = Column(Integer,primary_key=True)
name = Column(String(56),nullable=False)
linked = relationship('PageLinks',backref='parent_page',
primaryjoin=id==PageLink.page_from,
secondaryjoin=id==PageLink.page_to)
这种方法行不通。我试过删除“secondaryjoin”关键字,但它不起作用。
非常感谢您对此事的任何帮助或建议。
感谢您的阅读。