4

我尝试根据 many2one 关系中的字段为字段设置不可见属性:

事实上,我有一个带有字段选项的模型 M1和一个字段m2_id,它是与模型 M2 的 m2o 关系,其中包含一个字段类别(一个值为 val1/val2 的选择字段)

M1:选项(文本),m2_id(many2one)

M2:类别(选择)

我的目的是根据 m2.category 的值显示/隐藏字段选项

通常这必须工作:

<field name="m2_id" />
<field name="option" attrs="{'invisible': [('m2_id.category','=','val1')]}" />

但这会产生运行时错误:

Error: unknown field m2_id.category in domain [["m2_id.category","=","val1"]]

我尝试像这样直接设置属性:

<field name="option" invisible="[('m2_id.category','=','val1')]" />

但它需要一个值而不是表达式。所以,它一直被认为是True

请问有什么想法或建议吗?

4

1 回答 1

2

您可以为其创建相关字段,然后在 attrs 上添加字段,然后它将正常工作。

例如:

'category': fields.related('m2_id', 'category', type="char", relation='target_table_name', readonly=True, string="Category"),

现在在xml中使用

<field name="m2_id" />
<field name="category" invisible="1"/>
<field name="option" attrs="{'invisible': [('category','=','val1')]}" />
于 2015-03-04T18:46:39.427 回答