Files
OnlineJudge/achievement/metrics.py
yuetsh 1504164ae8 fix(achievement): distinct() 前必须 order_by() 清掉默认排序
Submission.Meta 有 ordering=("-create_time",),Django 会把排序字段
并入 DISTINCT,导致 _languages 每条提交各成一行——生产环境实测
某用户 659 条而不是 5 种语言。

recompute 侥幸正确只因 .count() 会清排序,两个实现同一个量却不一致。
三处 distinct() 全部显式加 order_by()。

由 check_achievement_deploy 的自检项发现。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-04 09:50:19 -06:00

14 KiB