update for django6
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
# Generated by Django 6.0.4 on 2026-05-09 11:53
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('submission', '0005_alter_submission_result'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='submission',
|
||||
name='info',
|
||||
field=models.JSONField(db_default=models.Value({}), default=dict),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='submission',
|
||||
name='result',
|
||||
field=models.IntegerField(choices=[(-2, 'Compile Error'), (-1, 'Wrong Answer'), (0, 'Accepted'), (1, 'CPU Time Limit Exceeded'), (2, 'Real Time Limit Exceeded'), (3, 'Memory Limit Exceeded'), (4, 'Runtime Error'), (5, 'System Error'), (6, 'Pending'), (7, 'Judging'), (8, 'Partially Accepted')], db_default=6, db_index=True, default=6),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='submission',
|
||||
name='shared',
|
||||
field=models.BooleanField(db_default=False, default=False),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='submission',
|
||||
name='statistic_info',
|
||||
field=models.JSONField(db_default=models.Value({}), default=dict),
|
||||
),
|
||||
]
|
||||
@@ -29,14 +29,14 @@ class Submission(models.Model):
|
||||
user_id = models.IntegerField(db_index=True)
|
||||
username = models.TextField()
|
||||
code = models.TextField()
|
||||
result = models.IntegerField(choices=JudgeStatus.choices, db_index=True, default=JudgeStatus.PENDING)
|
||||
result = models.IntegerField(choices=JudgeStatus.choices, db_index=True, default=JudgeStatus.PENDING, db_default=JudgeStatus.PENDING)
|
||||
# 从JudgeServer返回的判题详情
|
||||
info = JSONField(default=dict)
|
||||
info = JSONField(default=dict, db_default=models.Value({}))
|
||||
language = models.TextField()
|
||||
shared = models.BooleanField(default=False)
|
||||
shared = models.BooleanField(default=False, db_default=False)
|
||||
# 存储该提交所用时间和内存值,方便提交列表显示
|
||||
# {time_cost: "", memory_cost: "", err_info: "", score: 0}
|
||||
statistic_info = JSONField(default=dict)
|
||||
statistic_info = JSONField(default=dict, db_default=models.Value({}))
|
||||
ip = models.TextField(null=True)
|
||||
|
||||
def check_user_permission(self, user, check_share=True):
|
||||
|
||||
@@ -2,7 +2,7 @@ from django.db import models
|
||||
from django.db.models import F
|
||||
from django.utils import timezone
|
||||
|
||||
from problemset.models import ProblemSetProgress
|
||||
from problemset.models import ProblemSetProgress, ProblemSetStatus
|
||||
from utils.api import serializers
|
||||
from utils.serializers import LanguageNameChoiceField
|
||||
|
||||
@@ -16,7 +16,7 @@ def bulk_fetch_problemset_progress(user, problem_ids):
|
||||
rows = (
|
||||
ProblemSetProgress.objects.filter(
|
||||
user=user,
|
||||
problemset__status="active",
|
||||
problemset__status=ProblemSetStatus.ACTIVE,
|
||||
problemset__problemsetproblem__problem_id__in=problem_ids,
|
||||
)
|
||||
.filter(
|
||||
@@ -108,7 +108,7 @@ class SubmissionListSerializer(serializers.ModelSerializer):
|
||||
self._problemset_progress_cache[problem_id] = (
|
||||
ProblemSetProgress.objects.filter(
|
||||
user=self.user,
|
||||
problemset__status="active",
|
||||
problemset__status=ProblemSetStatus.ACTIVE,
|
||||
problemset__problemsetproblem__problem_id=problem_id,
|
||||
)
|
||||
.filter(
|
||||
|
||||
Reference in New Issue
Block a user