From d0de8bfb9b3a279519667f3c56478af9ab116cdc Mon Sep 17 00:00:00 2001 From: Laurent Date: Wed, 19 Feb 2025 10:02:34 +0100 Subject: [PATCH] Fix crash --- tournaments/models/tournament.py | 33 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/tournaments/models/tournament.py b/tournaments/models/tournament.py index 9d8ba06..10f59f3 100644 --- a/tournaments/models/tournament.py +++ b/tournaments/models/tournament.py @@ -704,25 +704,24 @@ class Tournament(models.Model): # all started matches have ended, possibly last_finished_match = self.last_finished_match() - - round = last_finished_match.round - if round is None: # when the last finished match is in the group stage - round = self.round_set.filter(parent__isnull=True).order_by('-index').first() - - if round: - # print(f'last_finished_match = {last_finished_match.name}') - round_root_index = round.root_round().index - # print(f'round_index = {round_root_index}') - if round_root_index == 0: - return round - else: - round = self.round_set.filter(parent=None,index=round_root_index-1).first() - if round: + if last_finished_match: + round = last_finished_match.round + if round is None: # when the last finished match is in the group stage + round = self.round_set.filter(parent__isnull=True).order_by('-index').first() + + if round: + # print(f'last_finished_match = {last_finished_match.name}') + round_root_index = round.root_round().index + # print(f'round_index = {round_root_index}') + if round_root_index == 0: return round else: - return None - else: - return None + round = self.round_set.filter(parent=None,index=round_root_index-1).first() + if round: + return round + else: + return None + return None def last_started_match(self): matches = [m for m in self.all_matches(False) if m.start_date]