PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie verweise ich zweimal auf eine Fremdschlüsseltabelle?

SQLAlchemy kann den Beziehungspfad nicht ermitteln.

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

Führen Sie den responder durch Beziehung muss mit responder_id beitreten oder user_id ? Ich weiß, dass es für uns offensichtlich ist, aber SQLAlchemy berücksichtigt hier keine Spaltennamen. Sie können responder_id umbenennen als foobar und es wird keinen Unterschied machen.

Definieren Sie die Fremdschlüssel, die Sie für jede Beziehung verwenden möchten.

user = relationship(User, foreign_keys=[user_id], backref=backref('votes_user'))
responder = relationship(User, foreign_keys=[responder_id], backref=backref('votes_responder'))