diff --git a/calendars/views.py b/calendars/views.py index 97e74cb..7517165 100644 --- a/calendars/views.py +++ b/calendars/views.py @@ -155,28 +155,21 @@ def record_results(request, game_id): if request.method == 'POST': form = GameResultForm(request.POST, game=game, instance=game_result) if form.is_valid(): - home_innings = [] - away_innings = [] + inning_results = {} for i in range(1, game.number_of_innings + 1): - home_innings.append(form.cleaned_data.get(f'inning_{i}_home')) - away_innings.append(form.cleaned_data.get(f'inning_{i}_guest')) - - game_result.inning_results = { - 'home': home_innings, - 'away': away_innings - } + inning_results[f'inning_{i}'] = { + 'home': form.cleaned_data.get(f'inning_{i}_home'), + 'guest': form.cleaned_data.get(f'inning_{i}_guest'), + } + game_result.inning_results = inning_results game_result.save() return redirect('dashboard') else: initial_data = {} if game_result.inning_results: - home_innings = game_result.inning_results.get('home', []) - away_innings = game_result.inning_results.get('away', []) - for i in range(game.number_of_innings): - if i < len(home_innings): - initial_data[f'inning_{i+1}_home'] = home_innings[i] - if i < len(away_innings): - initial_data[f'inning_{i+1}_guest'] = away_innings[i] + for inning, scores in game_result.inning_results.items(): + initial_data[f'{inning}_home'] = scores.get('home') + initial_data[f'{inning}_guest'] = scores.get('guest') form = GameResultForm(game=game, instance=game_result, initial=initial_data) form_fields_by_inning = [] diff --git a/db.sqlite3 b/db.sqlite3 index f89ac32..852814f 100644 Binary files a/db.sqlite3 and b/db.sqlite3 differ