Первый аргумент - ForeignKeyConstaint
должен быть последовательностью локальных столбцов, а второй - последовательностью соответствующих внешних столбцов, на которые ссылаются.В настоящее время у вас есть 2 списка локальных внешних пар.
Но: вы пытаетесь создать составное ограничение внешнего ключа, которое ссылается на 2 или более таблиц, , что невозможно в SQL.Когда вы думаете об этом, становится понятно, почему: какой ключ будет охватывать несколько таблиц?
Вместо этого вы можете создать отдельные ограничения внешнего ключа для battle_id
и attacker_id
, если это подходитваша модель:
class Attacker_Battles(Base):
__tablename__ = 'attacker_battles'
attacker_id = Column(Integer, ForeignKey('player.player_id'), primary_key=True)
battle_id = Column(Integer, ForeignKey('battles.battle_id'), primary_key=True)
player_id = Column(Integer, primary_key=True)
Кроме того, поскольку вы определили, что первичный ключ состоит из 3 столбцов, ограничение уникальности является избыточным.