【发布时间】:2019-09-30 06:42:25
【问题描述】:
我正在尝试在onchange 方法中获取字段的旧值。
这是我尝试过的。
@api.onchange('assigned_to')
# @api.depends('assigned_to')
def onchange_assigned_to(self):
print('onchange_assigned_to')
history = self._origin.read(["assigned_to"])
if history:
id = history[0]["assigned_to"][0]
last_assigned = self.env['res.users'].browse([id])
self.last_assign_id = last_assigned
上面的代码是有效的,只有当我通过 GUI 更改字段值时,我才会得到旧值。
我也在通过按钮操作更改字段值。,那个时候这个功能不起作用。
我怎样才能做到这一点?
我还尝试了 @api.depends 的计算功能。
那次我得到了一个
'AttributeError: 'crm.lead' 对象没有属性'_origin''
【问题讨论】:
-
最后,您的
assigned_to将按照write()写入,因此我会将您的逻辑直接实施到write()中,而不是在“onchange”环境中正确执行。按钮的东西不起作用,因为在调用按钮定义的任何东西之前,write()上有一个调用。