Edit displaying rating and points rank for unlisted (#115)

* Edit displaying rating and points rank for unlisted

* Edit rating/points rank of unlisted users and cache get_rank functions
This commit is contained in:
Phuoc Anh Kha Le 2024-06-04 19:40:20 -05:00 committed by GitHub
parent 570c3071ee
commit 46c950dc37
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 25 additions and 19 deletions

View file

@ -7,7 +7,6 @@ from django.db.models import Count, OuterRef, Subquery
from django.db.models.functions import Coalesce
from django.utils import timezone
BETA2 = 328.33**2
RATING_INIT = 1200 # Newcomer's rating when applying the rating floor/ceiling
MEAN_INIT = 1400.0
@ -147,7 +146,7 @@ def recalculate_ratings(ranking, old_mean, times_ranked, historical_p):
def rate_contest(contest):
from judge.models import Rating, Profile
from judge.models.profile import _get_basic_info
from judge.utils.users import get_contest_ratings
from judge.utils.users import get_contest_ratings, get_rating_rank
rating_subquery = Rating.objects.filter(user=OuterRef("user"))
rating_sorted = rating_subquery.order_by("-contest__end_time")
@ -241,6 +240,7 @@ def rate_contest(contest):
_get_basic_info.dirty_multi([(uid,) for uid in user_ids])
get_contest_ratings.dirty_multi([(uid,) for uid in user_ids])
get_rating_rank.dirty_multi([(uid,) for uid in user_ids])
RATING_LEVELS = [