需求
因为工作需要,需要判断odoo中的一个字段是否写入有值,如果有值则不可修改,如果没有值则可以修改
失败的做法
- 假设这个字段是 name
在xml中判断name是否存在,存在则只读
|
|
上述做法odoo不生效,name字段有值还是可以修改
一个正确的做法
思路
因为上述判断自己是否有值的做法无法生效,因此采用曲线救国的做法,新增加一个计算字段 track_name
用来追踪 name 值是否存在,如果有返回 ‘1’,如果没有,返回 ‘0’
实际代码
- 模型
|
|
- 前端
|
|
完成需求,当name
字段有值时,track_name
字段为True
,此时name
字段不可修改
注意:此处我写的
'0'
是字符串,因为我定义的track_name
字段是Char
类型,如果你定义的是布尔类型,那么请您自己尝试可用的方法