在odoo17 中已经移除了一些在odoo16的原有属性:
在odoo16中使用是这样的:
attrs="{'invisible': [('song_id', '=',False)]}"
在odoo17 中移除 attrs 属性后,把里面 invisible 属性单独拿出来:
invisible="not song_id"
odoo16与odoo17对比:
第一行是odoo16 用法
第二行是odoo17 用法
1.
attrs="{'invisible': [('song_id', '=',False)]}"
invisible="not song_id"
2
attrs="{'invisible': ['|',('state', '=', 'know'),('song_id', '=',False)]}"
invisible="not song_id and state == 'know'"
3
attrs="{'invisible': ['|',('state', '=', 'know'),('state', '=', 'pause')]}"
invisible="state in ['pause','know']"
4
attrs="{'invisible': ['|',('state', '=', 'know'),('state', '!=', 'pause')]}"
invisible="state == 'know' and state != 'pause'"
5
attrs="{
'readonly': [('product_updatable', '=', False)],
'required': ['|', ('state', 'in', ['cancel','sale']), ('id', '=', False)]
}"
readonly="not product_updatable" required="state in ['cancel', 'sale'] and not id"
适应之后感觉这种方法更简洁
随堂笔记