活跃度使用题目解决数
This commit is contained in:
@@ -13,7 +13,7 @@ from django.db.models import Count
|
|||||||
from otpauth import OtpAuth
|
from otpauth import OtpAuth
|
||||||
|
|
||||||
from problem.models import Problem
|
from problem.models import Problem
|
||||||
from submission.models import Submission
|
from submission.models import Submission, JudgeStatus
|
||||||
from utils.constants import ContestRuleType
|
from utils.constants import ContestRuleType
|
||||||
from options.options import SysOptions
|
from options.options import SysOptions
|
||||||
from utils.api import APIView, validate_serializer, CSRFExemptAPIView
|
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_usernames = User.objects.filter(is_disabled=False).exclude(
|
||||||
admin_type=AdminType.REGULAR_USER).values_list("username", flat=True)
|
admin_type=AdminType.REGULAR_USER).values_list("username", flat=True)
|
||||||
admin_len = len(admin_usernames)
|
admin_len = len(admin_usernames)
|
||||||
submissions = Submission.objects.filter(contest_id__isnull=True, create_time__gte=start)
|
submissions = Submission.objects.filter(contest_id__isnull=True, create_time__gte=start, result=JudgeStatus.ACCEPTED)
|
||||||
counts = submissions.values("username").annotate(count=Count("id")).order_by("-count")[:10+admin_len]
|
counts = submissions.values("username").annotate(count=Count("problem_id", distinct=True)).order_by("-count")[:10+admin_len]
|
||||||
data = []
|
data = []
|
||||||
for count in counts:
|
for count in counts:
|
||||||
if count["username"] not in admin_usernames:
|
if count["username"] not in admin_usernames:
|
||||||
|
|||||||
Reference in New Issue
Block a user