我无法在编辑模式下打开现有记录。这是Python方法的返回,该方法打开记录的表单视图:
@api.multi
def open_view(self):
return {
'name': _('My Wizard'),
'type': 'ir.actions.act_window',
'view_type': 'form',
'view_mode': 'form',
'res_model': 'my.model',
'target': 'current',
'res_id': self.id,
}
而且我尝试(没有成功)将以下键添加到返回字典中:
标志选项mode
'flags': {
'form': {
'options': {
'mode': 'edit',
},
}
},
它什么也没做,我猜只有在缺少密钥res_id
的情况下它才能起作用。
标志选项initial_mode
'flags': {
'form': {
'options': {
'initial_mode': 'edit',
},
}
},
与mode
相同。
上下文键form_view_initial_mode
和force_detailed_view
'context': {
'form_view_initial_mode': 'edit',
'force_detailed_view': 'true'
},
它们也不执行任何操作,它们似乎仅在版本11中起作用。
目标inline
'target': 'inline',
这是唯一可行的方法,但是它使表单顶部的“创建”和“编辑”按钮消失了,我不希望这样。
最后,我需要在编辑模式下并使用'target': 'current'
打开一个现有记录,以具有通用的表单按钮并像普通表单一样(而不是弹出窗口)。 / p>
有人知道如何管理吗?
答案 0 :(得分:2)
使用odoo v12
return {
'type': 'ir.actions.act_window',
'view_type': 'form',
'view_mode': 'form',
'res_model': 'project.project',
'res_id': MY_RECORD.id,
'context': {'form_view_initial_mode': 'edit'},
}
答案 1 :(得分:0)
'flags': {'initial_mode': 'edit'}
应该可以在Odoo V10中使用。
我使用以下代码在hr.employee
上通过服务器操作对其进行了尝试。我将动作添加到“更多/动作”菜单中,在表单视图中打开了一名员工,然后开始了动作。
action ={
'type': 'ir.actions.act_window',
'view_type': 'form',
'view_mode': 'form',
'res_model': 'hr.employee',
'target': 'current',
'res_id': record.id,
'flags': {'initial_mode': 'edit'}
}