OSV方法的return语句

时间:2012-05-20 05:29:49

标签: python openerp

在OpenERP中,OSV对象可以返回可以打开新视图或激活操作的内容。例如,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_id': [res_id],更改为'views': [(id2, 'form')],,其他部分也已修改,但仍然有效。

所以我不明白这个机制是如何运作的。是什么决定了返回字典中的哪些值?我如何知道哪些是强制性的,哪些不是强制性的?

非常感谢!

1 个答案:

答案 0 :(得分:5)

返回的字典被解释为动作(ir.actions.act_window模型),例如在XML视图中找到的动作。该文档位于Technical Mementoofficial docs