fix(study): quiz_session 결과 — StudyQuestionImage.position → sort_order 재사용

PR-10 결과 페이지에서 GET /quiz-sessions/{sid} 가 500. 이미지 batch 호출에서
존재하지 않는 컬럼 position 사용 → AttributeError. 기존
_images_for_questions_batch 헬퍼 (sort_order 기준 + served_url 포함) 재사용.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Hyungi Ahn
2026-04-28 16:52:52 +09:00
parent 7f4d64c6df
commit 6e25523600
+6 -15
View File
@@ -1538,21 +1538,12 @@ async def get_quiz_session(
).scalars().all()
by_id = {q.id: q for q in rows}
# 이미지 batch
img_rows = (
await session.execute(
select(StudyQuestionImage)
.where(StudyQuestionImage.study_question_id.in_(qids))
.order_by(StudyQuestionImage.study_question_id, StudyQuestionImage.position)
)
).scalars().all()
images_map: dict[int, list[dict]] = {}
for im in img_rows:
images_map.setdefault(im.study_question_id, []).append({
"id": im.id,
"served_url": f"/api/study-questions/{im.study_question_id}/images/{im.id}",
"position": im.position,
})
# 이미지 batch — 기존 study_questions._images_for_questions_batch 재사용 (sort_order 기준).
from api.study_questions import _images_for_questions_batch
images_typed = await _images_for_questions_batch(session, qids)
images_map: dict[int, list[dict]] = {
qid: [it.model_dump() for it in items] for qid, items in images_typed.items()
}
# attempt count batch (per question)
stat_rows = (