У меня есть две таблицы. Первый - таблица матчей, представляющая футбольный матч с двумя командами. Второй - это командная таблица, которая представляет команду. В командном столе будет около 18 команд. В таблице совпадений будет приблизительно 34 матча.
Вместо создания объединения «многие ко многим» я хотел бы создать простое объединение для:
Match.matchID --------------------> 1
Match.team1 ----------------------> Team.teamID
Match.team2 ----------------------> Team.teamID
Может быть только один teamID для Match.team1 и один teamID для Match.team2. Как бы я поступил так в классической sqlalchemy? В настоящее время у меня есть следующее для таблицы соответствия:
match_table = Table('match',metadata,
Column('matchID', Integer, primary_key=True),
Column('matchTeam1',Integer,ForeignKey('team.teamID')),
Column('matchTeam2',Integer,ForeignKey('team.teamID')),
и следующее для таблицы команд:
team_table = Table('team',metadata,
Column('teamID',Integer,primary_key=True),
Column('teamShortName',String),
Как бы мне создать здесь отображение? Кажется, что-то вроде следующего не работает - есть ли другой синтаксис для использования?
mapper(Match,match_table,properties={
'team1':relationship(Team),
'team2':relationship(Team),
})