增加Special Judge的基础配置和创建Special Judge题目的逻辑
This commit is contained in:
30
problem/migrations/0012_auto_20160404_1509.py
Normal file
30
problem/migrations/0012_auto_20160404_1509.py
Normal file
@@ -0,0 +1,30 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.9.1 on 2016-04-04 07:09
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('problem', '0011_auto_20151017_1227'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='problem',
|
||||
name='spj',
|
||||
field=models.BooleanField(default=False),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='problem',
|
||||
name='spj_code',
|
||||
field=models.TextField(blank=True, null=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='problem',
|
||||
name='spj_code_language',
|
||||
field=models.IntegerField(blank=True, null=True),
|
||||
),
|
||||
]
|
||||
20
problem/migrations/0013_auto_20160404_1641.py
Normal file
20
problem/migrations/0013_auto_20160404_1641.py
Normal file
@@ -0,0 +1,20 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.9.1 on 2016-04-04 08:41
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('problem', '0012_auto_20160404_1509'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RenameField(
|
||||
model_name='problem',
|
||||
old_name='spj_code_language',
|
||||
new_name='spj_language',
|
||||
),
|
||||
]
|
||||
@@ -38,6 +38,10 @@ class AbstractProblem(models.Model):
|
||||
time_limit = models.IntegerField()
|
||||
# 内存限制 单位是MB
|
||||
memory_limit = models.IntegerField()
|
||||
# special judge
|
||||
spj = models.BooleanField(default=False)
|
||||
spj_language = models.IntegerField(blank=True, null=True)
|
||||
spj_code = models.TextField(blank=True, null=True)
|
||||
# 是否可见 false的话相当于删除
|
||||
visible = models.BooleanField(default=True)
|
||||
# 总共提交数量
|
||||
|
||||
@@ -27,6 +27,9 @@ class CreateProblemSerializer(serializers.Serializer):
|
||||
test_case_id = serializers.CharField(max_length=40)
|
||||
time_limit = serializers.IntegerField(min_value=1, max_value=10000)
|
||||
memory_limit = serializers.IntegerField(min_value=16)
|
||||
spj = serializers.BooleanField()
|
||||
spj_language = serializers.IntegerField(required=False, default=None)
|
||||
spj_code = serializers.CharField(max_length=10000, required=False, default=None)
|
||||
difficulty = serializers.IntegerField()
|
||||
tags = serializers.ListField(child=serializers.CharField(max_length=10))
|
||||
hint = serializers.CharField(max_length=3000, allow_blank=True)
|
||||
@@ -73,6 +76,9 @@ class EditProblemSerializer(serializers.Serializer):
|
||||
source = serializers.CharField(max_length=100)
|
||||
time_limit = serializers.IntegerField(min_value=1)
|
||||
memory_limit = serializers.IntegerField(min_value=1)
|
||||
spj = serializers.BooleanField()
|
||||
spj_language = serializers.IntegerField(required=False, default=None)
|
||||
spj_code = serializers.CharField(max_length=10000, required=False, default=None)
|
||||
difficulty = serializers.IntegerField()
|
||||
tags = serializers.ListField(child=serializers.CharField(max_length=20))
|
||||
samples = ProblemSampleSerializer()
|
||||
|
||||
@@ -91,6 +91,9 @@ class ProblemAdminAPIView(APIView):
|
||||
samples=json.dumps(data["samples"]),
|
||||
time_limit=data["time_limit"],
|
||||
memory_limit=data["memory_limit"],
|
||||
spj=data["spj"],
|
||||
spj_language=data["spj_language"],
|
||||
spj_code=data["spj_code"],
|
||||
difficulty=data["difficulty"],
|
||||
created_by=request.user,
|
||||
hint=data["hint"],
|
||||
|
||||
Reference in New Issue
Block a user