去除不必要的serializer

This commit is contained in:
zema1
2017-12-01 17:19:31 +08:00
parent e6834fa6f7
commit ee89df9ff2
12 changed files with 35 additions and 84 deletions

View File

@@ -3,8 +3,7 @@ from django.db.models import Q, Count
from utils.api import APIView
from account.decorators import check_contest_permission
from ..models import ProblemTag, Problem, ProblemRuleType
from ..serializers import ProblemSerializer, TagSerializer
from ..serializers import ContestProblemSerializer, ContestProblemSafeSerializer
from ..serializers import ProblemSerializer, TagSerializer, ProblemSafeSerializer
from contest.models import ContestRuleType
@@ -102,16 +101,16 @@ class ContestProblemAPI(APIView):
except Problem.DoesNotExist:
return self.error("Problem does not exist.")
if self.contest.problem_details_permission(request.user):
problem_data = ContestProblemSerializer(problem).data
problem_data = ProblemSerializer(problem).data
self._add_problem_status(request, [problem_data, ])
else:
problem_data = ContestProblemSafeSerializer(problem).data
problem_data = ProblemSafeSerializer(problem).data
return self.success(problem_data)
contest_problems = Problem.objects.select_related("created_by").filter(contest=self.contest, visible=True)
if self.contest.problem_details_permission(request.user):
data = ContestProblemSerializer(contest_problems, many=True).data
data = ProblemSerializer(contest_problems, many=True).data
self._add_problem_status(request, data)
else:
data = ContestProblemSafeSerializer(contest_problems, many=True).data
data = ProblemSafeSerializer(contest_problems, many=True).data
return self.success(data)