odoo many2many字段查找有点特别,如果是in的话反过来写
xxxxxxxxxx
1
@api.model
2
def get_parent_attr_department(self, attr):
3
'''
4
取得带有特定属性的上线部门
5
:return: Fase则没有找到
6
'''
7
department_model = self.env['cdtct_dingtalk.cdtct_dingtalk_department']
8
if self.env.user.dingtalk_user:
9
department = self.env.user.dingtalk_user.departments[0]
10
if not department[attr]:
11
# 循环向上查找
12
while department:
13
if department[attr]:
14
break
15
16
if department.parentid:
17
department = department_model.search(
18
[('departmentId', '=', department.parentid)])
19
else:
20
department = False
21
break
22
23
if not department or department[attr]:
24
return False
25
26
return department.id
27
else:
28
raise exceptions.UserError("当前用户没有关联钉钉, 无法查找上级属性部门")
已复制