Должен признать, что я новичок в SQLAlchemy и SQL в целом. Я пытаюсь получить Match
, который ссылается на два Players
, где Player.matches
обратные ссылки на любой Match
, где они либо Match.PlayerA
, либо Match.PlayerB
.<704291921948>.
class Player(Base):
__tablename__ = "players"
id = Column(Integer, primary_key=True)
matches = relationship("Match")
class Match(Base):
__tablename__ = "matches"
id = Column(Integer, primary_key=True)
playerA_id = Column(Integer, ForeignKey("players.id"))
playerB_id = Column(Integer, ForeignKey("players.id"))
playerA = relationship("Player", foreign_keys=playerA_id, back_populates="matches")
playerB = relationship("Player", foreign_keys=playerB_id, back_populates="matches")
Текущая ошибка, которую я не могу устранить:
sqlalchemy.exc.AmbiguousForeignKeysError: Не удалось определить соединение условие между родительскими/дочерними таблицами в отношениях Player.matches - существует несколько путей внешнего ключа, связывающих таблицы. Укажите аргумент «внешние_ключи», предоставляющий список тех столбцов, которые следует считать содержащим ссылку внешнего ключа на родителя таблица.