PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como faço para me referir a uma tabela de chave estrangeira duas vezes?


SQLAlchemy não consegue descobrir o caminho do relacionamento.
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'))

Faça o responder o relacionamento deve ser unido usando responder_id ou user_id ? Eu sei que é óbvio para nós, mas SQLAlchemy não considera nomes de colunas aqui. Você pode renomear responder_id como foobar e não fará diferença.

Defina as chaves estrangeiras que deseja usar para cada relacionamento.
user = relationship(User, foreign_keys=[user_id], backref=backref('votes_user'))
responder = relationship(User, foreign_keys=[responder_id], backref=backref('votes_responder'))