From d7a0effaaaf70c55a37ff605dbc8fc2994c0ce06 Mon Sep 17 00:00:00 2001 From: yuetsh <517252939@qq.com> Date: Wed, 30 Oct 2024 16:32:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B4=BB=E8=B7=83=E5=BA=A6=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E9=A2=98=E7=9B=AE=E8=A7=A3=E5=86=B3=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- account/views/oj.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/account/views/oj.py b/account/views/oj.py index 687501a..c0a5f87 100644 --- a/account/views/oj.py +++ b/account/views/oj.py @@ -13,7 +13,7 @@ from django.db.models import Count from otpauth import OtpAuth from problem.models import Problem -from submission.models import Submission +from submission.models import Submission, JudgeStatus from utils.constants import ContestRuleType from options.options import SysOptions from utils.api import APIView, validate_serializer, CSRFExemptAPIView @@ -404,8 +404,8 @@ class UserActivityRankAPI(APIView): admin_usernames = User.objects.filter(is_disabled=False).exclude( admin_type=AdminType.REGULAR_USER).values_list("username", flat=True) admin_len = len(admin_usernames) - submissions = Submission.objects.filter(contest_id__isnull=True, create_time__gte=start) - counts = submissions.values("username").annotate(count=Count("id")).order_by("-count")[:10+admin_len] + submissions = Submission.objects.filter(contest_id__isnull=True, create_time__gte=start, result=JudgeStatus.ACCEPTED) + counts = submissions.values("username").annotate(count=Count("problem_id", distinct=True)).order_by("-count")[:10+admin_len] data = [] for count in counts: if count["username"] not in admin_usernames: