add unique_random_index in team

sync_v2
Raz 6 months ago
parent 2fbea4eba5
commit ce0a989105
  1. 16
      tournaments/models/tournament.py

@ -432,14 +432,14 @@ class Tournament(BaseModel):
t.registration_date is None, t.registration_date is None,
t.registration_date or datetime.min, t.registration_date or datetime.min,
t.initial_weight, t.initial_weight,
t.unique_random_index, t.team_registration.unique_random_index,
t.team_registration.id t.team_registration.id
)) ))
waiting_teams.sort(key=lambda t: ( waiting_teams.sort(key=lambda t: (
t.registration_date is None, t.registration_date is None,
t.registration_date or datetime.min, t.registration_date or datetime.min,
t.initial_weight, t.initial_weight,
t.unique_random_index, t.team_registration.unique_random_index,
t.team_registration.id t.team_registration.id
)) ))
else: else:
@ -456,8 +456,8 @@ class Tournament(BaseModel):
qualified_teams = complete_teams[:computed_team_count] qualified_teams = complete_teams[:computed_team_count]
excess_teams = complete_teams[computed_team_count:] excess_teams = complete_teams[computed_team_count:]
qualified_teams.sort(key=lambda t: (t.initial_weight, t.unique_random_index, t.team_registration.id)) qualified_teams.sort(key=lambda t: (t.initial_weight, t.team_registration.unique_random_index, t.team_registration.id))
excess_teams.sort(key=lambda t: (t.initial_weight, t.unique_random_index, t.team_registration.id)) excess_teams.sort(key=lambda t: (t.initial_weight, t.team_registration.unique_random_index, t.team_registration.id))
# Combine all waiting list teams # Combine all waiting list teams
waiting_list = excess_teams + waiting_teams waiting_list = excess_teams + waiting_teams
@ -466,17 +466,17 @@ class Tournament(BaseModel):
t.registration_date is None, t.registration_date is None,
t.registration_date or datetime.min, t.registration_date or datetime.min,
t.initial_weight, t.initial_weight,
t.unique_random_index, t.team_registration.unique_random_index,
t.team_registration.id t.team_registration.id
)) ))
else: else:
waiting_list.sort(key=lambda t: (t.initial_weight, t.unique_random_index, t.team_registration.id)) waiting_list.sort(key=lambda t: (t.initial_weight, t.team_registration.unique_random_index, t.team_registration.id))
# Return final sorted list # Return final sorted list
bracket_teams = qualified_teams[:bracket_seeds] + wildcard_bracket bracket_teams = qualified_teams[:bracket_seeds] + wildcard_bracket
gs_teams = qualified_teams[bracket_seeds:(bracket_seeds+group_stage_team_count)] + wildcard_group_stage gs_teams = qualified_teams[bracket_seeds:(bracket_seeds+group_stage_team_count)] + wildcard_group_stage
bracket_teams.sort(key=lambda t: (t.initial_weight, t.unique_random_index, t.team_registration.id)) bracket_teams.sort(key=lambda t: (t.initial_weight, t.team_registration.unique_random_index, t.team_registration.id))
gs_teams.sort(key=lambda t: (t.initial_weight, t.unique_random_index, t.team_registration.id)) gs_teams.sort(key=lambda t: (t.initial_weight, t.team_registration.unique_random_index, t.team_registration.id))
all_teams = bracket_teams + gs_teams all_teams = bracket_teams + gs_teams
for team in bracket_teams: for team in bracket_teams:
team.set_stage("Tableau") team.set_stage("Tableau")

Loading…
Cancel
Save