Для базы данных, с которой я экспериментирую, мне было предложено изменить соотношение между и Team
от M2M до двух отношений 1 к 1. Логика: для каждого заданного матча есть только две команды.SQLAlchemy: Двойное отношение отношения «один-к-одному»
Мне тяжело обворачивать голову, как реализовать это в моем models.py
; вот что я до сих пор (в сокращенном виде):
class Match(db.Model):
id = db.Column(db.String, primary_key=True)
# One to One x2 with Team
hometeam_id = db.Column(db.Integer, db.ForeignKey('team.id'))
awayteam_id = db.Column(db.Integer, db.ForeignKey('team.id'))
team = db.relationship("Team", back_populates="match")
hoemteam_goals = db.Column(db.Integer, nullable=False)
awayteam_goals = db.Column(db.Integer, nullable=False)
class Team(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String, nullable=False)
points = db.Column(db.Integer)
matches_played = db.Column(db.Integer)
# Many side of M2M With Match
match = relationship("Match", back_populates="team", uselist=False)
Там, кажется, что-то здесь отсутствует, особенно в декларации relationship
с в Match
сторону.