PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Làm cách nào để tham chiếu đến một bảng khóa ngoại hai lần?

SQLAlchemy không thể phát hiện ra đường dẫn mối quan hệ.

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

Thực hiện responder mối quan hệ phải tham gia bằng responder_id hoặc user_id ? Tôi biết điều đó là hiển nhiên đối với chúng ta, nhưng SQLAlchemy không xem xét các tên cột ở đây. Bạn có thể đổi tên responder_id dưới dạng foobar và nó sẽ không có gì khác biệt.

Xác định các khóa ngoại bạn muốn sử dụng cho mỗi mối quan hệ.

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. Làm cách nào để tách mảng 2d thành mảng 1d một cách nhanh chóng trong PostgreSQL?

  2. Đặt tên cho mỗi hàng trong bảng bằng một chuỗi 2 từ ngẫu nhiên

  3. Tính tổng cho đến khi đạt đến giá trị ngưỡng và sau đó đặt lại bộ đếm

  4. Xử lý đúng TIME WITH TIME ZONE trong PostgreSQL

  5. psycopg2:con trỏ đã đóng