我在配置與模型本身的多對多關係時遇到問題。當我使用normal關係配置,即不使用關聯對象時,我可以配置自我多對多關係。SQLAlchemy配置多對多關係到自我使用Association
在這種情況下,我必須在多對多表中記錄一些額外的信息,所以我試圖使用關聯對象(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'關鍵字,但它不起作用。
非常感謝在這個問題上的任何幫助或建議。
謝謝您的閱讀。
對,就是這樣。 – kaneer
謝謝,真的很有幫助 – anvd