python - SQLAlchemy 具有重复属性的一对多关系
问题描述
我承认我对 SQLAlchemy 和 SQL 很陌生。我试图获得一个Match
which 引用两个Players
,其中Player.matches
反向引用Match
它们所在的任何位置Match.PlayerA
或Match.PlayerB
。
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 上的父/子表之间的连接条件 - 有多个外键路径链接表。指定“foreign_keys”参数,提供那些列的列表,这些列应该被视为包含对父表的外键引用。
解决方案
推荐阅读
- python - Python 套接字密码输入
- sql - 如何进行频繁提交,以便我的 sql 删除查询不会超时
- java - 比较两个 id 以获得较低的值
- powershell - Powershell脚本将具有相同名称的不同文件类型移动到共享文件夹
- c# - 添加复杂项目时EF6主键冲突
- xamarin.android - Xamarin.Android:无法在 Android-11 中获取设备 Mac 地址
- javascript - 按钮点击事件在触发其他元素的模糊事件时无法触发
- ipfs - 连接到对等方时出现无效版本号错误
- r - R中MOD09GA hdf图像的rast函数错误
- node.js - Nodejs Knex -oracle 并发调用 - 表被锁定