我正在尝试在 Odoo 表单视图中使字段不可见。当“可以出售”被选中==>“产品经理”应该是不可见的:
我尝试在产品表单的继承视图中将属性“不可见”与域一起使用:
<record model="ir.ui.view" id="product_template_form_inherit">
<field name="name">product.template.product.form</field>
<field name="model">product.template</field>
<field name="inherit_id" ref="product.product_template_only_form_view" />
<field name="arch" type="xml">
<field name="product_manager" position="attributes">
<attribute name="invisible">[('sale_ok', '=', True)]</attribute>
</field>
</field>
</record>
当字段 sale_ok 为 true 时,product_manager 字段实际上是隐藏的。但是当字段 sale_ok 再次变为 false 时,字段 product_manager 保持隐藏状态。
我也试过这个:
<field name="product_manager" attrs="{'invisible': [('sale_ok', '=', True)]}"/>
这也不起作用。
我还尝试过其他域,例如:
[('sale_ok', '==', True)]
[('sale_ok', '!=', False)]
[('sale_ok', '=', 'True')]
不太确定这里出了什么问题......如何在(未)检查时使其(不)可见?
我最终想要的是以下内容:选中复选框时,表单应立即更改而不保存。必须添加和删除字段。那可能吗?
编辑:
我现在可以用 ChesuCR 的回答隐藏/取消隐藏产品经理。然而,当我用“loc_rack”(存储位置==>机架)尝试同样的事情时,它会给出错误:
Field(s) `arch` failed against a constraint: Invalid view definition
Error details:
Element '<field name="loc_rack">' cannot be located in parent view
这是我使用的代码:
<field name="loc_rack" position="replace">
<field name="loc_rack" attrs="{'invisible': [('sale_ok', '=', True)]}"/>
</field>
为什么我不能对这个字段做同样的事情?