contest and contest_problems api.

add ordering for contest and submission models
This commit is contained in:
zemal
2017-07-17 21:28:06 +08:00
parent ee2f5f5dd7
commit 53d0cae8ea
13 changed files with 160 additions and 25 deletions

View File

@@ -2,6 +2,8 @@ from utils.api import DateTimeTZField, UsernameSerializer, serializers
from .models import Contest, ContestAnnouncement, ContestRuleType
from problem.serializers import ContestProblemSerializer
class CreateConetestSeriaizer(serializers.Serializer):
title = serializers.CharField(max_length=128)
@@ -14,6 +16,17 @@ class CreateConetestSeriaizer(serializers.Serializer):
real_time_rank = serializers.BooleanField()
class EditConetestSeriaizer(serializers.Serializer):
id = serializers.IntegerField()
title = serializers.CharField(max_length=128)
description = serializers.CharField()
start_time = serializers.DateTimeField()
end_time = serializers.DateTimeField()
password = serializers.CharField(allow_blank=True, allow_null=True, max_length=32)
visible = serializers.BooleanField()
real_time_rank = serializers.BooleanField()
class ContestSerializer(serializers.ModelSerializer):
start_time = DateTimeTZField()
end_time = DateTimeTZField()
@@ -27,16 +40,6 @@ class ContestSerializer(serializers.ModelSerializer):
model = Contest
exclude = ('password', 'visible')
class EditConetestSeriaizer(serializers.Serializer):
id = serializers.IntegerField()
title = serializers.CharField(max_length=128)
description = serializers.CharField()
start_time = serializers.DateTimeField()
end_time = serializers.DateTimeField()
password = serializers.CharField(allow_blank=True, allow_null=True, max_length=32)
visible = serializers.BooleanField()
real_time_rank = serializers.BooleanField()
class ContestAnnouncementSerializer(serializers.ModelSerializer):
created_by = UsernameSerializer()
@@ -50,3 +53,8 @@ class CreateContestAnnouncementSerializer(serializers.Serializer):
title = serializers.CharField(max_length=128)
content = serializers.CharField()
contest_id = serializers.IntegerField()
class ContestPasswordVerifySerializer(serializers.Serializer):
contest_id = serializers.IntegerField()
password = serializers.CharField(max_length=30, required=True)