同一个表名的2个关系混淆了SQLAlchemy

nub*_*ela 2 sqlalchemy flask flask-sqlalchemy

IE:

class Share(db.Model):
    """
    Stores the Checkpoint shares between users
    """
    id = db.Column(db.Integer, primary_key=True)
    user_from_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    user_from = db.relationship("User")
    user_to_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    user_to = db.relationship("User")
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

ArgumentError:无法确定关系Share.user_from上的父/子表之间的连接条件.指定'primaryjoin'表达式.如果存在'secondary',则还需要'secondaryjoin'.

我怎样才能解决这个问题?

谢谢!

van*_*van 6

如错误消息所示,您需要primaryjoin关系指定值:

class Share(db.Model):
    # ...
    user_from = relationship("User", primaryjoin="Share.user_from_id==User.id")
    user_to = relationship("User", primaryjoin="Share.user_to_id==User.id")
    # ...
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅为关系()指定备用连接条件.