如何在笔记本中动态添加页面Odoo / OpenERP?

时间:2015-09-04 18:36:42

标签: python xml python-2.7 odoo odoo-8

如何在many2one字段中使用onchange事件动态添加/删除笔记本中的页面,我尝试使用函数fields_view_get,但仅在加载视图而不是onchange事件时运行。

1 个答案:

答案 0 :(得分:1)

您可以创建相关字段,并在页面的attrs属性中写入正确的条件。

related_field = fields.Char(
    string='Related field',
    related='many2one_id.name',
    store=False,
)
<field name="related_field" invisible="1" />

<page string="Title" attrs="{'invisible': [('related_field','=','Element name')]}">
    ...
</page>

或者如果你的条件更复杂,你可以使用像这样的onchange函数

field_name = fields.Char(
    string='Field name',
)

@api.one
@api.onchange('many2one_id')
def onchange_many2one_id(self):
    # [...]
    self.field_name = 'hidden'

但您也需要在视图中使用attrs属性

<field name="field_name" invisible="1" />

<page string="Title" attrs="{'invisible': [('field_name','=', 'hidden')]}">
    ...
</page>

我认为你可以用这些建议开发你想要的东西。