Openerp 如何在odoo中返回表单编辑视图?

Openerp 如何在odoo中返回表单编辑视图?,openerp,odoo-8,odoo-9,Openerp,Odoo 8,Odoo 9,在下面的代码中,正在为窗体视图工作 search_ids = self.env['sale.order'].search([]) last_id = search_ids and max(search_ids) return { 'name': _('Revise Quote'), 'view_type': 'form', 'view_mode': 'form', 'res_model': 'sale.order', 'res_id': l

在下面的代码中,正在为窗体视图工作

search_ids = self.env['sale.order'].search([])
last_id = search_ids and max(search_ids)        
return {
    'name': _('Revise Quote'),
    'view_type': 'form',
    'view_mode': 'form',
    'res_model': 'sale.order',
    'res_id': last_id.id,
    'type': 'ir.actions.act_window',
}
如何重定向到编辑视图


我认为您不能直接打开“编辑”视图

Edit在Odoo中的工作方式是这样的,当您开始编辑时,您不是在编辑实际记录,它类似于虚拟记录(复制的真实示例),按save后,您正在更新数据库中的记录


因此,您不能仅使用操作返回打开虚拟记录的编辑视图,而使用标准方法是不可能的。

在/web/static/src/js/view\u form.js(行号:116)中尝试此操作 将
初始\u模式的值
视图
更改为
编辑
。它将影响所有窗体视图

 _.defaults(this.options, {
        "not_interactible_on_create": false,
        // "initial_mode": "view",
        "initial_mode": "edit",
        "disable_autofocus": false,
        "footer_to_buttons": false,
    });

希望它能解决您的问题。

在日历模块中,我可以看到他们返回了一个额外的键
'flags'

编辑:我得到了测试它的机会,因为我收到了一个类似的任务,我可以确认下面的
标志
完成了这个任务

calendar/calendar.py

def open_after_detach_event(self, cr, uid, ids, context=None):
    ...
    return {
        'type': 'ir.actions.act_window',
        'res_model': 'calendar.event',
        'view_mode': 'form',
        'res_id': new_id,
        'target': 'current',
        'flags': {'form': {'action_buttons': True, 'options': {'mode': 'edit'}}}
    }

复制记录时,其复制的内容也会转到“编辑”选项。就像这个过程一样???对于开发人员来说,这不是一个清晰的操作,odoo保留了很多关于它如何工作的秘密,但是无论如何,你可以阅读源代码并阅读所有关于编辑功能的信息。祝你好运但请注意,使用标准操作无法实现这一点,odoo不推荐使用非标准方法。因此,在开发过程中,您必须尝试使用标准方法