0
我想创建动态视图,所以我想在python一边创建视图。但是,当我尝试保存视图“arch_base”字段未设置。有人能告诉我有什么问题吗?这里是我的功能如何在Python端创建扩展窗体视图?
@api.onchange('field_id')
def create_validation_button(self):
model = self.field_id.model_id.model
model_view = self.env['ir.ui.view'].search([("model", "=", model), ('type', "=", "form")])
arch = '<xpath expr="//header" postition="inside"><button string="Add Followers" type="object" name="add_project_followers" /></xpath>'
if model_view:
self.view_id = None
self.env['ir.ui.view'].search(
[("model", "=", model), ('name', "=", 'validation.' + model_view.name)]).unlink()
view_data = {'name': 'validation.' + model_view.name, 'type': 'form', 'model': model, 'priority': 1,
'inherit_id': model_view.id,
'mode': 'extension',
'arch_base': arch.encode('utf-8')}
view = self.env["ir.ui.view"].create(view_data)
self.view_id = view
欢迎堆栈覆盖低。请查看[Tour](https://stackoverflow.com/tour)和[Asking](https://stackoverflow.com/help/asking)。 – Shiro
你想用动态视图做什么?为什么不用XML创建视图?另外,你可以包含由你的'add_project_followers'方法执行的代码吗? – travisw
我想在用户选择的视图上创建一个验证按钮。这时我们假设'add_project_followers'在控制台上打印一些东西。当'create_validation_button'被执行时,视图被创建并分配给他的父母,但只有没有设置的'arch_base'。 – segito10