Openerp 当表单通过'调用时,如何使多人不可见;添加一项';在父视图中?

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

我想在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 :
   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字段中定义内联视图。谢谢:)