通过布尔复选标记激活表单中的字段 - Odoo v8

Activate a field in a form, via boolean checkmarks - Odoo v8

我有这个任务要完成,我想知道如何在 Odoo v8 上完成它。

假设我有三个字段,即:

columns = {
    'field1' : fields.char("My char"),
    'field2' : fields.integer("My integer"),
    'field3' : fields.selection([("tuple1", 'Tuple 1'),("tuple2", 'Tuple 2'), ("tuple3", 'Tuple 3')], "My tuple collection"),

现在,这些字段将呈现在 Odoo 网站的表单上,我现在已经涵盖了控制器、装饰器等。

我的难题是,如何激活哪些字段将显示在带有布尔复选标记的表单上?

假设当我激活这三个字段中的两个时,激活的两个将呈现在表单上。

不知道我是不是在解释自己...

如果还有疑问请问我...

有什么想法吗?

提前致谢...

您可以定义一个布尔字段:

selected = fields.Boolean(search='_search_dummy', store=False)

这种方式是不存入db的。只需定义一个空的 _search_dummy 方法

然后你就可以把它放到视图中,在定义其他字段的时候:

<field name="selected"/>
<field name="field1" attrs="{'invisible':[('selected','=',False)]}"/>  
<field name="field2" attrs="{'invisible':[('selected','=',True)]}"/>

field1 仅在您选中所选字段时可见,field2 仅在您取消选中所选字段时可见。