From 509107075934bd3c7c263a5eac3e6f744dcf94bb Mon Sep 17 00:00:00 2001 From: virusdefender Date: Thu, 10 May 2018 07:54:07 +0800 Subject: [PATCH] tags filter --- submission/views/oj.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/submission/views/oj.py b/submission/views/oj.py index 4fb077b6..8c02db4c 100644 --- a/submission/views/oj.py +++ b/submission/views/oj.py @@ -131,6 +131,7 @@ class SubmissionListAPI(APIView): myself = request.GET.get("myself") result = request.GET.get("result") username = request.GET.get("username") + tags = request.GET.getlist("tags[]") if problem_id: try: problem = Problem.objects.get(_id=problem_id, contest_id__isnull=True, visible=True) @@ -143,6 +144,8 @@ class SubmissionListAPI(APIView): submissions = submissions.filter(username__icontains=username) if result: submissions = submissions.filter(result=result) + if tags: + submissions = submissions.filter(problem__id__in=Problem.objects.filter(tags__name__in=tags).values_list("id", flat=True)) data = self.paginate_data(request, submissions) data["results"] = SubmissionListSerializer(data["results"], many=True, user=request.user).data return self.success(data)