From 8a60ea52bbf79f071d62badd2d9d775b5a3b0589 Mon Sep 17 00:00:00 2001 From: zemal Date: Thu, 6 Jul 2017 21:08:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9submissions=E6=88=90=E5=88=86?= =?UTF-8?q?=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- submission/models.py | 1 + submission/views/oj.py | 5 +++-- utils/api/api.py | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/submission/models.py b/submission/models.py index 74a7e87..bc445ec 100644 --- a/submission/models.py +++ b/submission/models.py @@ -32,6 +32,7 @@ class Submission(models.Model): language = models.CharField(max_length=20) shared = models.BooleanField(default=False) # 存储该提交所用时间和内存值,方便提交列表显示 + # {time_cost: "", memory_cost: "", err_info: "", score: 0} statistic_info = JSONField(default={}) def check_user_permission(self, user): diff --git a/submission/views/oj.py b/submission/views/oj.py index 7619d7c..028a733 100644 --- a/submission/views/oj.py +++ b/submission/views/oj.py @@ -84,8 +84,9 @@ class SubmissionListAPI(APIView): if request.GET.get("myself") and request.GET["myself"] == "1": subs = subs.filter(user_id=request.user.id) - # todo: paginate - return self.success(SubmissionListSerializer(subs, many=True, user=request.user).data) + data = self.paginate_data(request, subs) + data["results"] = SubmissionListSerializer(data["results"], many=True, user=request.user).data + return self.success(data) def _get_submission(submission_id, user): diff --git a/utils/api/api.py b/utils/api/api.py index 197026a..47a81cd 100644 --- a/utils/api/api.py +++ b/utils/api/api.py @@ -112,7 +112,7 @@ class APIView(View): if object_serializer: return object_serializer(query_set, many=True).data else: - return query_set + return {"results": query_set, "total": query_set.count()} try: limit = int(request.GET.get("limit", "100")) except ValueError: