From 6527d8bfe5944c2b6d4004078c67469caabce714 Mon Sep 17 00:00:00 2001 From: yuetsh <517252939@qq.com> Date: Sun, 8 Mar 2026 21:31:00 +0800 Subject: [PATCH] update --- problem/views/admin.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/problem/views/admin.py b/problem/views/admin.py index 4f9761e..ff520ea 100644 --- a/problem/views/admin.py +++ b/problem/views/admin.py @@ -516,16 +516,23 @@ class ProblemFlowchartAIGen(APIView): class StuckProblemsAPI(APIView): @super_admin_required def get(self, request): + from submission.models import JudgeStatus + + failed_q = Q(result__in=[ + JudgeStatus.WRONG_ANSWER, + JudgeStatus.COMPILE_ERROR, + JudgeStatus.RUNTIME_ERROR, + ]) rows = ( Submission.objects.values("problem_id", "problem___id", "problem__title") .annotate( total=Count("id"), - accepted=Count("id", filter=Q(result=0)), - failed=Count("id", filter=Q(result__lt=0)), - failed_users=Count("user_id", filter=Q(result__lt=0), distinct=True), + accepted=Count("id", filter=Q(result=JudgeStatus.ACCEPTED)), + failed=Count("id", filter=failed_q), + failed_users=Count("user_id", filter=failed_q, distinct=True), ) .filter(failed_users__gt=0) - .order_by("-failed_users")[:30] + .order_by("-failed_users") ) result = [ {