一、经常用法
1.1 用法一
api.onchange('')
改变依赖的字段,只能是这个对象的字段,不能包括. 的字段如果改变的字段不需要显示,也要在 form 视图上写出来,加上invisible='1'
。
1.2 用法二
可以返回domian或者警告信息的:
return {
'domain': {'other_id': [('partner_id', '=', partner_id)]},
'warning': {'title': "Warning", 'message': "What is this?"},
}
二、其他用法
onchange 改变的是视图上的数据,返回一组伪记录,此时数据没有写入数据库的,所以不能在其中调用这个对象的 CRUD方法:
read,create,write,unlink
方法。可以调用update
方法,update后值会更新到 values 中。
三、onchange 失效情况解决
- 字段是只读的:在xml上加上
force_save='1'
; - 可以调用其他对象的 CRUD 方法;
四、问题
- onchange 起作用时,
self
里面有数据吗?
值是视图上的,但是不一定是存在数据库中的。