This commit is contained in:
2026-03-09 21:07:54 +08:00
parent 3cd944a7e1
commit 3763032a9a
3 changed files with 24 additions and 2 deletions

View File

@@ -0,0 +1,19 @@
# Generated by Django 6.0 on 2026-03-09 13:06
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('contest', '0001_initial'),
('problem', '0005_remove_spj_fields'),
('submission', '0002_submission_user_create_time_idx'),
]
operations = [
migrations.AddIndex(
model_name='submission',
index=models.Index(fields=['contest_id', '-create_time'], name='contest_create_time_idx'),
),
]

View File

@@ -62,6 +62,9 @@ class Submission(models.Model):
models.Index( models.Index(
fields=["user_id", "create_time"], name="user_create_time_idx" fields=["user_id", "create_time"], name="user_create_time_idx"
), ),
models.Index(
fields=["contest_id", "-create_time"], name="contest_create_time_idx"
),
] ]
def __str__(self): def __str__(self):

View File

@@ -159,7 +159,7 @@ class SubmissionListAPI(APIView):
return self.error("Parameter error") return self.error("Parameter error")
submissions = Submission.objects.filter(contest_id__isnull=True).select_related( submissions = Submission.objects.filter(contest_id__isnull=True).select_related(
"problem", "problem__created_by" "problem"
).order_by("-create_time") ).order_by("-create_time")
problem_id = request.GET.get("problem_id") problem_id = request.GET.get("problem_id")
myself = request.GET.get("myself") myself = request.GET.get("myself")
@@ -207,7 +207,7 @@ class ContestSubmissionListAPI(APIView):
contest = self.contest contest = self.contest
submissions = Submission.objects.filter(contest_id=contest.id).select_related( submissions = Submission.objects.filter(contest_id=contest.id).select_related(
"problem", "problem__created_by" "problem", "contest"
).order_by("-create_time") ).order_by("-create_time")
problem_id = request.GET.get("problem_id") problem_id = request.GET.get("problem_id")
myself = request.GET.get("myself") myself = request.GET.get("myself")