add contest search api

This commit is contained in:
virusdefender
2017-01-26 17:59:41 +08:00
parent b41939019d
commit 3150012eb1

View File

@@ -30,7 +30,13 @@ class ContestAPI(APIView):
return self.success(ContestSerializer(contest).data) return self.success(ContestSerializer(contest).data)
except Contest.DoesNotExist: except Contest.DoesNotExist:
return self.error("Contest does not exist") return self.error("Contest does not exist")
contests = Contest.objects.all().order_by("-create_time") contests = Contest.objects.all().order_by("-create_time")
keyword = request.GET.get("keyword")
if keyword:
contests = contests.filter(title__contains=keyword)
if request.user.is_admin_role(): if request.user.is_admin_role():
contests = contests.filter(created_by=request.user) contests = contests.filter(created_by=request.user)
return self.success(self.paginate_data(request, contests, ContestSerializer)) return self.success(self.paginate_data(request, contests, ContestSerializer))