PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да направя препратка към таблица с външни ключове два пъти?

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Операторът не съществува:цяло число =? когато използвате Postgres

  2. IntegrityError:прави разлика между уникално ограничение и ненулеви нарушения

  3. Как CONCAT_WS() работи в PostgreSQL

  4. Защо изтича времето за изчакване на заявка, когато е в рамките на лимита си за изчакване?

  5. Как мога ръчно да вмъкна .png или .jpeg файл в колона bytea в PostgreSQL?