From 7b1490dec8ecd70fa543b22f3f629a471efffc8d Mon Sep 17 00:00:00 2001 From: "mamonov.ep" Date: Sat, 24 Jan 2026 10:15:53 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B0=20Mis?= =?UTF-8?q?singGreenlet=20=D0=B2=20use=5Fskip=5Fexile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Убрана проверка assignment.challenge, которая вызывала lazy loading в асинхронном контексте. Теперь всегда выполняется явный запрос для получения game_id из Challenge. Co-Authored-By: Claude Sonnet 4.5 --- backend/app/services/consumables.py | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/backend/app/services/consumables.py b/backend/app/services/consumables.py index 69f160b..aec2185 100644 --- a/backend/app/services/consumables.py +++ b/backend/app/services/consumables.py @@ -138,16 +138,12 @@ class ConsumablesService: if assignment.is_playthrough: game_id = assignment.game_id else: - # Need to load challenge to get game_id - if assignment.challenge: - game_id = assignment.challenge.game_id - else: - # Load challenge if not already loaded - result = await db.execute( - select(Challenge).where(Challenge.id == assignment.challenge_id) - ) - challenge = result.scalar_one() - game_id = challenge.game_id + # Load challenge to get game_id + result = await db.execute( + select(Challenge).where(Challenge.id == assignment.challenge_id) + ) + challenge = result.scalar_one() + game_id = challenge.game_id # Check if game is already exiled existing = await db.execute(