单击按钮时重新加载 Odoo

dee*_*ani 5 python python-3.x odoo odoo-8

我想通过单击按钮在 odoo 中重新加载页面。我试过这个:

  • object_name.refresh()
  • return {'tag': 'reload'}

但它不起作用。

我怎么才能得到它?

小智 5

在您的返回中添加 'type': 'ir.actions.client' ,例如:

return {
      'type': 'ir.actions.client',
      'tag': 'reload',
}
Run Code Online (Sandbox Code Playgroud)


Emi*_*td. 1

单击按钮时返回视图,为此您需要在单击按钮时调用方法,并在该方法内编写如下代码,

@api.multi
def reload_page(self):
    model_obj = self.env['ir.model.data']
    data_id = model_obj._get_id('module_name', 'view_id')
    view_id = model_obj.browse(data_id).res_id
    return {
        'type': 'ir.actions.act_window',
        'name': _('String'),
        'res_model': 'model.name',
        'view_type' : 'tree',
        'view_mode' : 'form',
        'view_id' : view_id,
        'target' : 'current',
        'nodestroy' : True,
    }
Run Code Online (Sandbox Code Playgroud)

按钮的 XML 代码,

<button type="object" name="reload_page" string="Reload Page" />
Run Code Online (Sandbox Code Playgroud)