SQLAlchemyはリレーションシップパスを検出できません。
user_id = Column(ForeignKey('user.id'))
user = relationship(User, backref=backref('votes_user'))
responder_id = Column(ForeignKey('user.id'))
responder = relationship(User, backref=backref('votes_responder'))
responder
を実行します 関係はresponder_id
を使用して参加する必要があります またはuser_id
?それは私たちには明らかですが、SQLAlchemyはここでは列名を考慮していません。 responder_id
の名前を変更できます foobar
として 違いはありません。
各関係に使用する外部キーを定義します。
user = relationship(User, foreign_keys=[user_id], backref=backref('votes_user'))
responder = relationship(User, foreign_keys=[responder_id], backref=backref('votes_responder'))