0
私が実験しているデータベースでは、Match
とTeam
の関係をM2Mから2対1の関係に変更することをお勧めしました。論理:各試合には2つのチームしかありません。SQLAlchemy:ダブル1対1リレーションシップ宣言
私はこれを実装する方法を頭に入れて苦労しています。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)
特にMatch
側のrelationship
秒の宣言では、ここに欠けている何かがあるようです。