From d8a5c3622ec34075c9574328e4ecb6e24863143d Mon Sep 17 00:00:00 2001 From: jiayuan929 <252461528@qq.com> Date: Sat, 27 May 2023 17:05:20 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20admin42=20=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E5=88=97=E8=A1=A8=E5=B8=A6=E6=9F=A5=E8=AF=A2=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E6=97=B6=E6=9F=A5=E8=AF=A2=E7=BB=93=E6=9E=9C=E4=B8=8D?= =?UTF-8?q?=E6=AD=A3=E7=A1=AE=20(#469)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plat_admin/admin42/views/applications.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/apiserver/paasng/paasng/plat_admin/admin42/views/applications.py b/apiserver/paasng/paasng/plat_admin/admin42/views/applications.py index 0b3976df40..71b4dfa60e 100644 --- a/apiserver/paasng/paasng/plat_admin/admin42/views/applications.py +++ b/apiserver/paasng/paasng/plat_admin/admin42/views/applications.py @@ -78,16 +78,22 @@ def get_app_resource_context_data(self, app_resource_quotas, **kwargs): # 手动按资源的使用量排序分页 offset = self.paginator.get_offset(self.request) limit = self.paginator.get_limit(self.request) + queryset = self.filter_queryset(self.get_queryset()) + + if self.request.query_params.get('search_term'): + # 有查询参数则不按资源用量排序 + page = queryset[offset : offset + limit] + else: + # 应用资源排序后的信息 + page_app_code_list = list(app_resource_quotas.keys())[offset : offset + limit] + page = queryset.filter(code__in=page_app_code_list) - # 应用资源排序后的信息 - page_app_code_list = list(app_resource_quotas.keys())[offset : offset + limit] - page = self.filter_queryset(self.get_queryset()).filter(code__in=page_app_code_list) data = self.get_serializer(page, many=True, context={"app_resource_quotas": app_resource_quotas}).data data = sorted(data, key=lambda item: item['resource_quotas']['memory'], reverse=True) kwargs['application_list'] = data # 没有调用默认的 paginate_queryset 方法,需要手动给 paginator 的参数赋值 - self.paginator.count = self.paginator.get_count(self.get_queryset()) + self.paginator.count = self.paginator.get_count(queryset) self.paginator.limit = limit self.paginator.offset = offset self.paginator.request = self.request