我找到了这段代码,我在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,
}
但如果我从表单视图中添加新书并切换到我的自定义视图而不更新,直到刷新整个站点,我仍然看不到更新。
答案 0 :(得分:0)
试试这个
return {
'type': 'ir.actions.client',
'tag': 'reload',
'target':'inline',
}
希望这会对你有所帮助。
答案 1 :(得分:0)
在重新加载任何视图时,您必须在XML上的记录标记内完成所有工作,以便能够像Odoo一样自动重新加载。