From 37829386158aabff6494d819ae203c8c128efc84 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Thu, 11 Dec 2025 13:43:44 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20base=20wf=20=E6=94=AF=E6=8C=81=E5=8F=8D?= =?UTF-8?q?=E5=90=91=E6=9F=A5=E8=AF=A2=E8=8E=B7=E5=8F=96=E5=A4=84=E7=90=86?= =?UTF-8?q?=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/wf/services.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/apps/wf/services.py b/apps/wf/services.py index 7a2f109..6094f0e 100755 --- a/apps/wf/services.py +++ b/apps/wf/services.py @@ -184,7 +184,15 @@ class WfService(object): dpt_attrs = state.filter_dept.split('.') # 通过反向查询得到可能有多层 expr = ticket for i in dpt_attrs: - expr = getattr(expr, i) + try: + expr = getattr(expr, i) + except AttributeError as e: + if "'RelatedManager' object has no attribute" in str(e): + expr = getattr(expr.first(), i) + else: + raise + if expr is None: + raise ParseError('未找到对应部门') dpts = Dept.objects.filter(id=expr.id) user_queryset = user_queryset.filter(depts__in=dpts) # if state.filter_policy == 1: