Python SQLAlchemy+;Flask:通过一组表的多对多自参考关系
我必须从一个奇怪的数据库中提取一些信息,为此,我需要一个自我引用的多对多关系。下表列出了这些关系:Python SQLAlchemy+;Flask:通过一组表的多对多自参考关系,python,flask,sqlalchemy,Python,Flask,Sqlalchemy,我必须从一个奇怪的数据库中提取一些信息,为此,我需要一个自我引用的多对多关系。下表列出了这些关系: class A(db.Model): __tablename__ = 'A' a_id = db.Column(db.Integer, primary_key=True) class B(db.Model): __tablename__ = 'B' a_id = db.Column(db.Integer, db.ForeignKey(A.a_id), prim
class A(db.Model):
__tablename__ = 'A'
a_id = db.Column(db.Integer, primary_key=True)
class B(db.Model):
__tablename__ = 'B'
a_id = db.Column(db.Integer, db.ForeignKey(A.a_id), primary_key=True)
c_id = db.Column(db.Integer, db.ForeignKey(C.c_id), primary_key=True)
class C(db.Model):
__tablename__ = 'C'
c_id = db.Column(db.Integer, primary_key=True)
class D(db.Model):
__tablename__ = 'D'
a_id = db.Column(db.Integer, db.ForeignKey(A.a_id), primary_key=True)
c_id = db.Column(db.Integer, db.ForeignKey(C.c_id), primary_key=True)
所以,A有另一个A到B,到C,到D。下面是我试图解决的问题:
class A(db.Model):
__tablename__ = 'A'
a_id = db.Column(db.Integer, primary_key=True)
another_a = db.relationship('A', secondary='join(B, D, D.c_id == B.c_id).join(A, D.a_id == A.a_id)')
因此,我收到以下错误:
AmbiguousForeignKeyError:无法确定之间的联接条件
关系生成上的父/子表。已升级的\u生成-有
通过辅助表“B”链接表的多个外键路径
在“B”中加入“C”。在“D”中加入“A”。在“D”中加入“C”。在“A”中加入“A”。
指定'foreign_keys'参数,提供这些列的列表
应将其视为包含来自
将辅助表添加到每个父表和子表
有人能帮我吗