如果另一个字段(one2many)没有值(为空),我试图使某个字段不可见。
我正在尝试像
这样的东西<field name="reference" invisible="{'line_ids', '=', False}"/>
也试过
<field name="reference" invisible="{'line_ids', 'in', []}"/>
最后
<field name="reference" invisible="{'line_ids', '=', None}"/>
注意:line_ids是one2many字段
但没有奏效。有人请建议一些可行的方法。
答案 0 :(得分:10)
尝试以下,
<field name="reference" attrs="{'invisible' :[('line_ids', '=', False)]}"/>
这是在odoo中的attrs行为,版本与版本不同。
答案 1 :(得分:4)
对于Odoo 10中的One2many字段,我刚刚测试了自己并且空列表有效,如:
attrs="{'invisible': [('item_ids', '=', [])]}"
我从其他人那里听说上面的内容也适用于Odoo 9。对于Odoo 8,我也使用过:
attrs="{'invisible': [('item_ids', '=', [(6, False, [])])]}"
......成功。如果其中任何一个不适合您和您的相应版本,请尝试更新您的来源。此外,对于Odoo 7,空列表方式应该有效(但我自己还没试过)。他们如何从[]到[(6,False,[])])]然后再回到[],这有点奇怪。
答案 2 :(得分:2)
我有同样的问题。我尝试过Emipro的解决方案,但是没有用(但你仍然必须使用&#34; attrs&#34;而不是隐形)。
另外,我尝试了
[('line_ids', '=', [(0, 0, [])])]
和
[('line_ids', '=', [(6, False, [])])]
但没有任何效果。
最后,我最终创建了一个布尔计算字段
self.line_count = len(self.line_ids) > 0
它适用于更简单的条件
[('line_count', '=', False)]
如果有人建议正确的解决方案......
答案 3 :(得分:0)
这对我有用:
<field name="reference" attrs="{'invisible' :[('line_ids', '!=', [])]}"/>
答案 4 :(得分:0)
试试这个方法。这个对我有用
<field name="reference" attrs="{'invisible': [('line_ids', '=', [(6, False, [])])]}" />
答案 5 :(得分:0)
[('line_ids','=',[[6,False,[]]])]
它在openerp7中对我有用