drop leftovers from the live leaderboard: no fake model rows, no second sort
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -77,14 +77,8 @@ class Command(BaseCommand):
|
||||
from progress.models import LeaderboardEntry
|
||||
|
||||
days = opts['days']
|
||||
scores = self._collect(period, days, include_zero=opts['include_zero'])
|
||||
if not opts['include_zero']:
|
||||
scores = [(uid, xp) for uid, xp in scores if xp > 0]
|
||||
|
||||
# ترتیبِ قطعی: امتیازِ بیشتر جلوتر، و در تساوی user_id کوچکتر جلوتر —
|
||||
# وگرنه دو اجرای پشتسرهم روی دادهی یکسان رتبههای متفاوت میدهند.
|
||||
scores.sort(key=lambda p: (-p[1], p[0]))
|
||||
scores = scores[:opts['limit']]
|
||||
# مرتبسازی و کنار گذاشتنِ XPی صفر را خودِ compute_scores انجام میدهد.
|
||||
scores = self._collect(period, days, include_zero=opts['include_zero'])[:opts['limit']]
|
||||
|
||||
label = period if period == 'all_time' else f'{period} ({days} روزِ اخیر)'
|
||||
if opts['dry_run']:
|
||||
|
||||
Reference in New Issue
Block a user