Python 如何在Odoo/OpenERP中动态添加页面?

Python 如何在Odoo/OpenERP中动态添加页面?,python,xml,python-2.7,odoo,odoo-8,Python,Xml,Python 2.7,Odoo,Odoo 8,如何在多个One字段中使用onchange事件动态添加/删除笔记本中的页面,我尝试使用函数fields\u view\u get,但仅在加载视图时运行,而不是在onchange事件上。您可以创建相关字段,并在页面的attrs属性中写入正确的条件 related_field=fields.Char( string='Related field', 相关class='manyOne\u id.name', store=False, ) ... 或者,如果您的条件更复杂,您可以使用这样的onch

如何在多个One字段中使用onchange事件动态添加/删除笔记本中的页面,我尝试使用函数
fields\u view\u get
,但仅在加载视图时运行,而不是在onchange事件上。您可以创建相关字段,并在页面的
attrs
属性中写入正确的条件

related_field=fields.Char(
string='Related field',
相关class='manyOne\u id.name',
store=False,
)

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

field\u name=fields.Char(
string='Field name',
)
@api.1
@api.onchange('manyOne\u id'))
def onchange_many2one_id(自身):
# [...]
self.field_name='hidden'
但是在视图中还需要一个
attrs
属性


...

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

非常感谢,这个例子可以为我服务,但我想知道如何动态地显示/隐藏页面,使其不受Python代码的影响,例如使用函数fields\u view\u get
fields\u view\u get()
在树或表单打开时调用。它不依赖于创建或写入函数。我不确定你是否可以用这个函数做你想做的事情。没错,我正在回顾如何使用这个函数,但只有当你打开树或表单视图时才会运行。正如你所解释的,我在想也许我可以继承视图来编辑并使用Qweb模板来添加新页面,这可能吗?也许你可以继承并覆盖JavaScript中正确的小部件,然后做你想做的事情。但我仍然认为你能做的最好的事情就是我建议的,更快更容易。