如何在OpenERP返回中返回多个表单视图?
def create_forms(self,cr,uid,ids,context=None):
mod_obj = self.pool.get('ir.model.data')
res = mod_obj.get_object_reference(cr, uid, 'project_inherited', 'project_forms_form')
frm_ids=[1,2,3,4,5]
return {
'name': 'Control Forms',
'view_type': 'form',
'view_mode': 'form',
'view_id': [res and res[1] or False],
'res_model': 'project.forms',
'context': "{}",
'type': 'ir.actions.act_window',
'nodestroy': True,
'res_id': frm_ids or False,
}
但是每次我调用这个方法时,它只对一个 frm_ids 工作得很好,但在上面的情况下,它给我显示了以下错误——列表对象是不可哈希的。那么有没有办法在按钮点击时返回多个表单呢……?
1 个回答
1
我知道的情况是,这样做不符合OpenERP的设计模式。你的按钮会返回一个动作给客户端(就是一个窗口动作),然后客户端再向服务器请求表单。你可以把这个想象成给浏览器发送一个HTTP重定向。你不能发送多个重定向。
如果你想让用户选择使用表单视图还是列表视图,你可以确保这两种视图都为这个模型定义好,然后放两个按钮,或者总是先发送到表单视图,让用户自己切换到列表视图。