From c87bf7fe76d7d1c3aceb02ed5e4fff02d57c0b2d Mon Sep 17 00:00:00 2001 From: faucomte97 Date: Wed, 28 Feb 2024 17:29:22 +0000 Subject: [PATCH] fix: Algo scores fix only for default levels --- .../0090_add_missing_model_solutions.py | 14 ++++++++---- ...disable_algo_score_if_no_model_solution.py | 22 ++++++++++++------- 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/game/migrations/0090_add_missing_model_solutions.py b/game/migrations/0090_add_missing_model_solutions.py index 37b7de1ff..2f166c461 100644 --- a/game/migrations/0090_add_missing_model_solutions.py +++ b/game/migrations/0090_add_missing_model_solutions.py @@ -23,14 +23,16 @@ def add_missing_model_solutions(apps: Apps, *args): } for level_name, model_solution in model_solutions.items(): - count = Level.objects.filter(name=level_name).update( - model_solution=model_solution, disable_algorithm_score=False - ) + count = Level.objects.filter( + default=True, episode__isnull=False, name=level_name + ).update(model_solution=model_solution, disable_algorithm_score=False) assert count == 1 Attempt = apps.get_model("game", "Attempt") attempts = Attempt.objects.filter( + level__default=True, + level__episode__isnull=False, level__name__in=[ "80", "81", @@ -75,6 +77,8 @@ def remove_new_model_solutions(apps: Apps, *args): Level = apps.get_model("game", "Level") Level.objects.filter( + default=True, + episode__isnull=False, name__in=[ "80", "81", @@ -88,12 +92,14 @@ def remove_new_model_solutions(apps: Apps, *args): "89", "90", "91", - ] + ], ).update(model_solution="[]", disable_algorithm_score=True) Attempt = apps.get_model("game", "Attempt") Attempt.objects.filter( + level__default=True, + level__episode__isnull=False, level__name__in=[ "80", "81", diff --git a/game/migrations/0091_disable_algo_score_if_no_model_solution.py b/game/migrations/0091_disable_algo_score_if_no_model_solution.py index bdb9f1bed..14cd1b641 100644 --- a/game/migrations/0091_disable_algo_score_if_no_model_solution.py +++ b/game/migrations/0091_disable_algo_score_if_no_model_solution.py @@ -5,28 +5,34 @@ def disable_algo_score_for_levels_without_model_solution(apps: Apps, *args): Level = apps.get_model("game", "Level") - Level.objects.filter(default=True, model_solution="[]").update( - disable_algorithm_score=True - ) + Level.objects.filter( + default=True, episode__isnull=False, model_solution="[]" + ).update(disable_algorithm_score=True) Attempt = apps.get_model("game", "Attempt") Attempt.objects.filter( - level__default=True, level__model_solution="[]", score=20 + level__default=True, + level__episode__isnull=False, + level__model_solution="[]", + score=20, ).update(score=10) def enable_algo_score_for_levels_without_model_solution(apps: Apps, *args): Level = apps.get_model("game", "Level") - Level.objects.filter(default=True, model_solution="[]").update( - disable_algorithm_score=False - ) + Level.objects.filter( + default=True, episode__isnull=False, model_solution="[]" + ).update(disable_algorithm_score=False) Attempt = apps.get_model("game", "Attempt") Attempt.objects.filter( - level__default=True, level__model_solution="[]", score=10 + level__default=True, + level__episode__isnull=False, + level__model_solution="[]", + score=10, ).update(score=20)