Openerp 当表单通过'调用时,如何使多人不可见;添加一项';在父视图中?
我想在One2many视图中通过“添加项”调用manyOne字段时使其不可见,例如:Openerp 当表单通过'调用时,如何使多人不可见;添加一项';在父视图中?,openerp,invisible,odoo-9,Openerp,Invisible,Odoo 9,我想在One2many视图中通过“添加项”调用manyOne字段时使其不可见,例如: parent view : Name = 'this is One2many field' value 1 = value 2 : add an item child view : Parent Name = 'this is Many2one field' value 1 = .... 当我点击“添加项目”时,我希望看到以下视图: child view : valu
parent view :
Name = 'this is One2many field'
value 1 =
value 2 : add an item
child view :
Parent Name = 'this is Many2one field'
value 1 = ....
当我点击“添加项目”时,我希望看到以下视图:
child view :
value 1 = ...
我尝试在子视图中设置
attrs=“{'invisible':[('parent_id','!=',False)]}”
,但这始终是正确的,因为尚未创建父字段。有什么想法吗?您可以通过在父窗体视图的one2many字段中设置上下文来实现
我将举例说明。
placement_line是任何字段的父视图。在该设置中,上下文如下代码所示
<field name="placement_line" context="{'one2many':True}" />
<field name="student_id" invisible="context.get('one2many')"/>
这里,student\u id是多个子表单视图字段。请参阅下面的代码
<field name="placement_line" context="{'one2many':True}" />
<field name="student_id" invisible="context.get('one2many')"/>
通过上述父窗体和子窗体中的代码设置,当子窗体从One2many视图中的“添加项”打开时,可以看到不可见的子窗体(多个)。通过为该One2many字段定义内联窗体视图,可以非常简单地实现这一点 这里有一个例子供你参考
<field name="one2many_field_name">
<tree>
<field name="field1" />
<field name="field2" />
<field name="field3" />
</tree>
<form>
<field name="field1" invisible="1" />
<field name="field2" />
<field name="field3" />
</form>
</field>
当您单击“添加项目”时,它将呈现内联定义的表单视图,如果没有定义内联视图,则它将采用您在外部创建的表单视图
这样,您就可以为许多/one2many字段定义内联视图,这样您就可以直接定义任何字段的行为。这正是我所需要的,我不知道我们可以在one2many字段中定义内联视图。谢谢:)