当一个用户属于一个项目时,我正在尝试分配值,在这种情况下,是他被分配到的项目名称和经理,但计算方法给出了一个错误,我已经尝试登录这些值,以防其中一个为空,但没有,他们肯定有所需的数据。我们可以在日志中看到:根:人员增强- 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
发布于 2021-08-22 01:21:27
您需要在计算方法中分配employee.parent_id,如果您的If else未能将值分配给该字段,则会出现此错误。
因此,检查你的方法,在if条件之后加上一个else条件,并给出类似employee.parent_id = False的赋值。因为在任何情况下,如果你的计算方法没有给我们认为应该赋值,那么他们就会抛出错误。
发布于 2021-08-23 04:24:48
为要分配的字段设置默认值,以防其不满足计算的分配条件
https://stackoverflow.com/questions/68865168
复制相似问题