每次点击时重新加载自定义视图类型-Odoo8
Reload Custom view type on click each time-Odoo8
- 我创建了一个新的视图类型,如表单视图,当我从表单视图创建新内容并切换到我的自定义视图时,我没有看到任何更新,直到我刷新整个站点。我想知道如何重新加载此自定义视图,以便在每次单击我的自定义视图时都能检索数据。
- 我已经在 java 脚本上创建了视图,除了每次单击视图时都重新加载数据外,一切正常。
我找到了这段代码,我在views.js中调用了一个函数,我继承自核心网络模块
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,
}
但是如果我从表单视图添加新书并切换到我的自定义视图,我仍然看不到更新,直到我刷新整个站点才更新。
试试这个
return {
'type': 'ir.actions.client',
'tag': 'reload',
'target':'inline',
}
希望对您有所帮助。
在重新加载任何视图时,您必须在 XML 上的记录标签内完成所有工作才能像 Odoo 那样自动重新加载。
- 我创建了一个新的视图类型,如表单视图,当我从表单视图创建新内容并切换到我的自定义视图时,我没有看到任何更新,直到我刷新整个站点。我想知道如何重新加载此自定义视图,以便在每次单击我的自定义视图时都能检索数据。
- 我已经在 java 脚本上创建了视图,除了每次单击视图时都重新加载数据外,一切正常。
我找到了这段代码,我在views.js中调用了一个函数,我继承自核心网络模块
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, }
但是如果我从表单视图添加新书并切换到我的自定义视图,我仍然看不到更新,直到我刷新整个站点才更新。
试试这个
return {
'type': 'ir.actions.client',
'tag': 'reload',
'target':'inline',
}
希望对您有所帮助。
在重新加载任何视图时,您必须在 XML 上的记录标签内完成所有工作才能像 Odoo 那样自动重新加载。