PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak dwukrotnie odwołać się do tabeli kluczy obcych?

SQLAlchemy nie może wykryć ścieżki relacji.

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

Wykonaj responder związek musi dołączyć za pomocą responder_id lub user_id ? Wiem, że jest to dla nas oczywiste, ale SQLAlchemy nie uwzględnia tutaj nazw kolumn. Możesz zmienić nazwę responder_id jako foobar i to nie ma znaczenia.

Zdefiniuj klucze obce, których chcesz użyć dla każdej relacji.

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. postgresql :dołącz z warunkiem i bez duplikacji

  2. Skopiuj wiele plików CSV do postgres

  3. Czy jest jakiś sposób na wykonanie zapytania wewnątrz wartości ciągu (np. eval) w PostgreSQL?

  4. Wyłącz zawijanie w wyjściu Psql

  5. Opcje wielodostępności dla PostgreSQL