我尝试根据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 。
请有任何想法或建议吗?
答案 0 :(得分: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')]}" />