如何在Python端创建扩展表单视图?

2024-05-26 09:19:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图创建动态视图,所以我想在python端创建视图。但是当我试图保存视图时,没有设置“arch\u base”字段。有人能告诉我有什么问题吗?这是我的职责

@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

Tags: nameselfenvview视图iduifield
1条回答
网友
1楼 · 发布于 2024-05-26 09:19:00

字段名是arch而不是arch_base,因此设置为:

view_data = {'name': 'validation.' + model_view.name, 'type': 'form', 'model': model, 'priority': 1,
                     'inherit_id': model_view.id,
                     'mode': 'extension',
                     'arch': arch.encode('utf-8')}

感谢

Peter Alabaster https://www.odoo.com/fr_FR/forum/aide-1/question/how-to-create-extension-form-view-in-python-side-119479

相关问题 更多 >