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' 好。
我该如何解决这个问题?
谢谢!
答案 0 :(得分:6)
如错误消息所示,您需要为relationships指定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")
# ...
有关详细信息,请参阅Specifying Alternate Join Conditions to relationship()。