OpenERP / Odoo 在 xml 视图中为 many2one 使用域

OpenERP / Odoo using domain for many2one in xml view

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

事实上,我有一个模型 M1,它有一个字段 option 和一个字段 m2_id 这是一个 m2o 关系对包含字段类别(具有值 val1/val2 的选择字段)

的模型 M2

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

M2:类别(选择)

我的目的是show/hide字段选项取决于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

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

你可以为它创建相关字段,然后在 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')]}" />