From 218ec19bf9ab7b4032aa647c8aa1682a01dcd5c0 Mon Sep 17 00:00:00 2001 From: Christoph Urlacher Date: Tue, 20 Feb 2024 01:08:39 +0100 Subject: [PATCH] Fix teamwinners/podiumdrivers model --- formula10.py | 2 ++ model.py | 16 +++++++++++----- template_model.py | 1 - 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/formula10.py b/formula10.py index c7e4cbd..39a494d 100644 --- a/formula10.py +++ b/formula10.py @@ -161,6 +161,8 @@ def season_guess_post(user_name: str): seasonguess.dnf_driver_name = guesses[3] # Pylance throws error but nullcheck is done seasonguess.gained_driver_name = guesses[4] # Pylance throws error but nullcheck is done seasonguess.lost_driver_name = guesses[5] # Pylance throws error but nullcheck is done + seasonguess.team_winners_id = user_name + seasonguess.podium_drivers_id = user_name db.session.commit() return redirect(f"/season/{user_name}") diff --git a/model.py b/model.py index 9e9266d..d061572 100644 --- a/model.py +++ b/model.py @@ -359,7 +359,8 @@ class SeasonGuess(db.Model): """ __tablename__ = "seasonguess" __csv_header__ = ["user_name", "hot_take", "p2_team_name", - "overtake_driver_name", "dnf_driver_name", "gained_driver_name", "lost_driver_name"] + "overtake_driver_name", "dnf_driver_name", "gained_driver_name", "lost_driver_name", + "team_winners_id", "podium_drivers_id"] def from_csv(self, row): self.user_name = str(row[0]) # Also used as foreign key for teamwinners + podiumdrivers @@ -369,6 +370,8 @@ class SeasonGuess(db.Model): self.dnf_driver_name = str(row[4]) self.gained_driver_name = str(row[5]) self.lost_driver_name = str(row[6]) + self.team_winners_id = str(row[7]) + self.podium_drivers_id = str(row[8]) return self def to_csv(self): @@ -380,6 +383,8 @@ class SeasonGuess(db.Model): self.dnf_driver_name, self.gained_driver_name, self.lost_driver_name, + self.team_winners_id, + self.podium_drivers_id ] user_name: Mapped[str] = mapped_column(ForeignKey("user.name"), primary_key=True) @@ -390,6 +395,9 @@ class SeasonGuess(db.Model): gained_driver_name: Mapped[str] = mapped_column(ForeignKey("driver.name")) lost_driver_name: Mapped[str] = mapped_column(ForeignKey("driver.name")) + team_winners_id: Mapped[str] = mapped_column(ForeignKey("teamwinners.user_name")) + podium_drivers_id: Mapped[str] = mapped_column(ForeignKey("podiumdrivers.user_name")) + # Relationships user: Mapped["User"] = relationship("User", foreign_keys=[user_name]) p2_team: Mapped["Team"] = relationship("Team", foreign_keys=[p2_team_name]) @@ -398,7 +406,5 @@ class SeasonGuess(db.Model): gained_driver: Mapped["Driver"] = relationship("Driver", foreign_keys=[gained_driver_name]) lost_driver: Mapped["Driver"] = relationship("Driver", foreign_keys=[lost_driver_name]) - team_winners: Mapped["TeamWinners"] = relationship("TeamWinners", foreign_keys=[user_name], - primaryjoin="SeasonGuess.user_name == TeamWinners.user_name") - podium_drivers: Mapped["PodiumDrivers"] = relationship("PodiumDrivers", foreign_keys=[user_name], - primaryjoin="SeasonGuess.user_name == PodiumDrivers.user_name") + team_winners: Mapped["TeamWinners"] = relationship("TeamWinners", foreign_keys=[team_winners_id]) + podium_drivers: Mapped["PodiumDrivers"] = relationship("PodiumDrivers", foreign_keys=[podium_drivers_id]) diff --git a/template_model.py b/template_model.py index 5cae141..d6cc430 100644 --- a/template_model.py +++ b/template_model.py @@ -108,7 +108,6 @@ class TemplateModel: if self._all_race_results is None: self._all_race_results = RaceResult.query.join(RaceResult.race).order_by(desc(Race.number)).all() - print(self._all_race_results) return self._all_race_results def race_result_by(self, *, race_name: str) -> RaceResult | None: