每次点击重新加载自定义视图类型-Odoo8

时间:2016-07-28 09:57:18

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

  • 我创建了一个新的视图类型,如表单视图,当我从表单视图创建新的东西并切换到我的自定义视图时,我看到没有更新,直到我刷新整个站点。我想知道如何重新加载此自定义视图,以便每次单击自定义视图时都能检索数据。
  • 我已经在java脚本上创建了视图,除了每次单击视图时重新加载数据,一切正常。
  • 我找到了这段代码,我在views.js中调用了一个函数,我从核心web模块继承了

    var zoser_book = new openerp.Model('zoser.book');      
    zoser_book.call('reload_controller'[view_type]).then(function(reload_ok){
    console.log(reload_ok);
    });
    
  • 然后在python中我这样做了:

    def reload_controller(self, cr, uid, view_type, context = None):
    model_obj = self.pool.get('ir.model.data')
    print model_obj
    data_id = model_obj._get_id(cr, uid, 'zoser_book', 'zoser_book_views')
    print data_id
    view_id = model_obj.browse(cr, uid, data_id).res_id
    print view_id
    return {
        'type': 'ir.actions.act_window',
        'name': _('String'),
        'res_model': 'zoser.book',
        'view_type': 'bookview',
        'view_mode': 'bookview',
        'view_id': view_id,
        'target': 'current',
        'nodestroy': True,
    }
    
  • 但如果我从表单视图中添加新书并切换到我的自定义视图而不更新,直到刷新整个站点,我仍然看不到更新。

2 个答案:

答案 0 :(得分:0)

试试这个

return {
'type': 'ir.actions.client',
'tag': 'reload',
'target':'inline',
}

希望这会对你有所帮助。

答案 1 :(得分:0)

在重新加载任何视图时,您必须在XML上的记录标记内完成所有工作,以便能够像Odoo一样自动重新加载。