【发布时间】:2021-08-20 16:13:44
【问题描述】:
我正在尝试在用户属于项目时分配值,在这种情况下是分配给他的项目名称和经理,但计算方法出错,我尝试登录值以防万一其中一个是空的,但没有,他们肯定有所需的数据。 我们可以在日志中看到: 根:人员扩充 - project_task.project_id.display_name 根:120 - project_task.project_id.delivery_director.id
@api.depends('user_id')
@api.model
def _get_assigned_project(self):
today = fields.Date.today()
for employee in self:
project_task = self.env['project.task'].search([('user_id','=',employee.user_id.id),
('status','=','assigned'),
('date_end','>',today),
('project_id.original_project_id', '=', False)], order='date_end desc', limit=1)
if project_task:
employee.project_name = project_task.project_id.display_name
if project_task.project_id.role_id.name = 'Delivery Manager' and employee.base_manager != 0:
employee.parent_id = project_task.project_id.delivery_director.id
else:
employee.parent_id = project_task.project_id.delivery_manager.id
else:
employee.project_name = ""
if employee.base_manager != 0:
employee.parent_id = employee.base_manager
这是错误:
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/odoo/src/odoo/odoo/http.py", line 640, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/home/odoo/src/odoo/odoo/http.py", line 316, in _handle_exception
raise exception.with_traceback(None) from new_cause
ValueError: Compute method failed to assign hr.employee(266,).project_name
【问题讨论】:
-
员工应该有一个元组吗?有时这是一个偷偷摸摸的尾随逗号的结果
-
不,员工不应该只有一个值的元组
-
我在这个函数中使用的字段是:project_name = fields.Char('project.project', compute='_get_assigned_project') & base_manager = fields.Integer('Base Manager')