2

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")

我收到一个错误:

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

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

谢谢!

4

1 回答 1

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")
    # ...

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

于 2011-12-06T22:21:57.763 回答