diff --git a/account/views/oj.py b/account/views/oj.py index 583fddf..5218782 100644 --- a/account/views/oj.py +++ b/account/views/oj.py @@ -377,6 +377,7 @@ class UserRankAPI(APIView): def get(self, request): rule_type = request.GET.get("rule") username = request.GET.get("username") + n = request.GET.get("n") if not username: username = "" if rule_type not in ContestRuleType.choices(): @@ -384,7 +385,7 @@ class UserRankAPI(APIView): profiles = UserProfile.objects.filter(user__admin_type=AdminType.REGULAR_USER, user__is_disabled=False,\ user__username__icontains=username).select_related("user") if rule_type == ContestRuleType.ACM: - profiles = profiles.filter(submission_number__gt=0).order_by("-accepted_number", "submission_number") + profiles = profiles.filter(accepted_number__gte=n).order_by("-accepted_number", "submission_number") else: profiles = profiles.filter(total_score__gt=0).order_by("-total_score") return self.success(self.paginate_data(request, profiles, RankInfoSerializer))