From 9483f2792a1f56b9c919e75ed7fcd92858b907b0 Mon Sep 17 00:00:00 2001 From: zhouzhou <123@qq.com> Date: Tue, 12 Nov 2024 17:02:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yuthon_hr_employee/models/yuthon_job_lv.py | 12 ++++++++---- yuthon_hr_employee/views/yuthon_job_lv_views.xml | 4 ++-- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/yuthon_hr_employee/models/yuthon_job_lv.py b/yuthon_hr_employee/models/yuthon_job_lv.py index 3947c5a7b..96c1a5e4e 100644 --- a/yuthon_hr_employee/models/yuthon_job_lv.py +++ b/yuthon_hr_employee/models/yuthon_job_lv.py @@ -28,8 +28,12 @@ class YuthonJobLv(models.Model): @api.model def read_group(self, domain, fields, groupby, offset=0, limit=None, orderby=False, lazy=True): res = super(YuthonJobLv, self).read_group(domain, fields, groupby, offset=offset, limit=limit, orderby=orderby, - lazy=lazy) + lazy=lazy) if 'lv' in groupby: - # 按 sequence 字段排序 (假设 sequence 始终是数字或可以转换为数字) - res.sort(key=lambda x: int(self.search([('lv', '=', x['lv'])], limit=1).sequence or 0)) - return res \ No newline at end of file + try: + res.sort( + key=lambda x: int(self.search([('lv', '=', x['lv'])], limit=1).sequence or 0) if x.get('lv') else 0) + except (ValueError, AttributeError): + # 处理 sequence 字段不是数字或不存在的情况 + res.sort(key=lambda x: x.get('lv') or '') # 按 lv 值排序,如果 lv 不存在则使用空字符串 + return res diff --git a/yuthon_hr_employee/views/yuthon_job_lv_views.xml b/yuthon_hr_employee/views/yuthon_job_lv_views.xml index b9888252d..228a0bae0 100644 --- a/yuthon_hr_employee/views/yuthon_job_lv_views.xml +++ b/yuthon_hr_employee/views/yuthon_job_lv_views.xml @@ -16,7 +16,7 @@ - + @@ -59,7 +59,7 @@ - +