在OpenERP中,如何从父对象(多个对象)显示或隐藏基于域的字段

在OpenERP中,如何从父对象(多个对象)显示或隐藏基于域的字段,openerp,Openerp,在OpenERP版本7中,我需要根据父对象的值在“添加对象”的表单视图中显示或隐藏一个字段 例如,我在销售订单中有一个字段demo\u field1。当我创建销售订单行时,如果销售订单的演示字段1大于200,我不想显示字段“th_weight” 使用attrs=“{'invisible':[('demo_field','>','200')]}”或attrs=“{'invisible':[('order_id.demo_field','>','200')]}”显示域中的无效字段 如何做到这一点?我

在OpenERP版本7中,我需要根据父对象的值在“添加对象”的表单视图中显示或隐藏一个字段

例如,我在销售订单中有一个字段demo\u field1。当我创建销售订单行时,如果销售订单的演示字段1大于200,我不想显示字段“th_weight”

使用attrs=“{'invisible':[('demo_field','>','200')]}”或attrs=“{'invisible':[('order_id.demo_field','>','200')]}”显示域中的无效字段


如何做到这一点?

我以前也遇到过同样的问题。我所做的是在sale_order_行中添加一个相关字段,并基于该相关字段定义attriute。ie; 在销售订单行中,我将字段demo_field1的相关字段定义为:

'test_field_new': fields.related('order_id', 'client_order_ref', string="Test Field", type="float")
但相关字段仅在保存记录时加载。因此,我从xml文件中传递了字段test\u field\u new的默认值,如下所示:

<field name="order_line" context="{'default_test_field_new': demo_field1}"/>

因此,当我单击one2many字段中的“添加新项目”时,默认情况下,字段demo_field1的值将加载到test_field_new,并且我使用字段test_field_new定义了属性

<field name="price_unit" attrs="{'invisible': [('test_field_new', '&gt;', 200)]}"/>


我不确定这是一个干净的方法…

您好,请访问此[,我希望这将帮助您了解上下文和属性。您好,我认为您提到的链接是关于较旧版本的OpenERP。但是在OpenERP 7中,我们可以使用上下文设置字段的默认值。