Odoo视图中使用invisible属性与&操作符的语法问题求助
Odoo视图按钮可见性条件正确写法
你需要实现的是仅当status等于"validated"且api_result等于"Valid"时按钮可见,等价于:只要其中一个条件不满足,按钮就隐藏。
正确代码
attrs="{'invisible': ['|', ('status', '!=', 'validated'), ('api_result', '!=', 'Valid')]}"
语法解释
Odoo的域(domain)语法规则:
- 默认情况下,列表内多个条件用逗号分隔时,是**逻辑与(AND)**关系,比如
[cond1, cond2]等价于['&', cond1, cond2] - 若需要**逻辑或(OR)**关系,必须显式使用
['|', 条件1, 条件2]结构 - 你的需求中,按钮隐藏的条件是「status不等于validated」或者「api_result不等于Valid」,因此需要用
|操作符来组合两个条件
错误原因分析
你之前尝试的['&',('status', '!=', 'validated'),('api_result', '!=', 'Valid')]表示的是:仅当两个条件同时满足时才隐藏按钮,这和你的需求完全相反,所以不符合预期。
内容的提问来源于stack exchange,提问作者kpg
相关产品推荐
相关产品推荐

