在 OpenERP 中,OSV 对象可以返回可以打开新 View 或激活操作的内容。例如,sale.order
具有返回以下内容的 manual_invoice
方法:
return {
'name': _('Customer Invoices'),
'view_type': 'form',
'view_mode': 'form',
'view_id': [res_id],
'res_model': 'account.invoice',
'context': "{'type':'out_invoice'}",
'type': 'ir.actions.act_window',
'nodestroy': True,
'target': 'current',
'res_id': inv_ids and inv_ids[0] or False,
}
并在同一窗口中打开发票表单 View 。
我看到 'view_id': [res_id],
被更改为 'views': [(id2, 'form')],
和其他部分修改后,它仍然有效。
所以我不明白的是这个机制是如何工作的。是什么决定了返回字典中应该包含哪些值?我怎么知道哪些是强制性的,哪些不是?
非常感谢!
最佳答案
返回的字典被解释为一个 Action (ir.actions.act_window
模型),例如在 XML View 中找到的那些。该文档位于 Technical Memento 中。在official docs .
关于python - OSV 方法的返回语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10671025/