2017-05-15 08:42:15 +00:00
|
|
|
from .models import Submission
|
2017-07-04 12:59:25 +00:00
|
|
|
from account.models import User
|
2017-05-08 09:29:01 +00:00
|
|
|
from utils.api import serializers
|
2017-05-09 06:41:26 +00:00
|
|
|
from judge.languages import language_names
|
2017-05-08 09:29:01 +00:00
|
|
|
|
|
|
|
|
|
|
|
class CreateSubmissionSerializer(serializers.Serializer):
|
|
|
|
problem_id = serializers.IntegerField()
|
2017-05-09 06:41:26 +00:00
|
|
|
language = serializers.ChoiceField(choices=language_names)
|
2017-05-08 09:29:01 +00:00
|
|
|
code = serializers.CharField(max_length=20000)
|
2017-05-15 08:42:15 +00:00
|
|
|
|
|
|
|
|
|
|
|
class SubmissionModelSerializer(serializers.ModelSerializer):
|
2017-07-04 12:59:25 +00:00
|
|
|
username = serializers.SerializerMethodField()
|
2017-05-15 08:42:15 +00:00
|
|
|
info = serializers.JSONField()
|
2017-07-04 12:59:25 +00:00
|
|
|
statistic_info = serializers.JSONField()
|
2017-05-15 08:42:15 +00:00
|
|
|
|
|
|
|
class Meta:
|
|
|
|
model = Submission
|
2017-07-04 12:59:25 +00:00
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
def get_username(obj):
|
|
|
|
return User.objects.get(id=obj.user_id).username
|