Openerp 显示ir.actions.server中的特定FormView

Openerp 显示ir.actions.server中的特定FormView,openerp,odoo-10,Openerp,Odoo 10,我为res.partner模块创建了两个表单视图。 第一个字段是继承的,第二个字段只显示几个字段: 我的节目 合伙人 并采取了以下行动: 我的节目 代码 行动={ 'type':'ir.actions.act_window', “名称”:“我的程序”, “查看模式”:“表单”, “视图类型”:“表单”, “查看id”:“ref=“training\u program\u management.program\u viewform”, “context”:“{”form_view_ref:“

我为res.partner模块创建了两个表单视图。 第一个字段是继承的,第二个字段只显示几个字段:


我的节目
合伙人
并采取了以下行动:


我的节目
代码
行动={
'type':'ir.actions.act_window',
“名称”:“我的程序”,
“查看模式”:“表单”,
“视图类型”:“表单”,
“查看id”:“ref=“training\u program\u management.program\u viewform”,
“context”:“{”form_view_ref:“program_viewform”}”,
“res_模型”:“res.partner”,
'res_id':int(env['res.users'].browse(env.user.partner_id.id)),
“视图”:[(True,'form')],
}
它工作得非常正确,没有错误,问题是它显示了第一个ForView,我需要显示id为:program_viewform的视图。 我仍然对ir.actions.server有点困惑,我不明白这行的用法:

'views': [(True, 'form')],
为什么这条线没有显示我想要的视图

 'view_id': 'ref="training_program_management.program_viewform"', 

任何解释都会有帮助。

不要在服务器操作中直接更正返回值,创建一个方法 返回相同的字典,XML中的python代码很难读写

action=model.open\u form\u view()
在模型中定义此方法:

@api.model
def打开形式视图(自):
#首先获取视图的ID
form_id=self.env.ref('training_program_management.program_viewform').id
#如果要打开与用户相关的res partner
recor\u id=self.env.user.partner\u id.id
返回{
'type':'ir.actions.act_window',
“名称”:“我的程序”,
“查看模式”:“表单”,
“视图类型”:“表单”,
#表单id接受整数值。
#如果只使用一个视图
#不需要使用视图
“视图id”:表单id,
'上下文':{},
“res_模型”:“res.partner”,
“res_id”:记录id,
#但如果您使用的是多个视图
#必须使用视图传递多个ID
#“视图”:[(form_id,'form'),(tree_id,'tree')],
#和要指定搜索视图,请使用
#“搜索视图id”:搜索视图id,
}

非常感谢,我解决了这个问题,诀窍是在“视图”中:[(form_id,'form'),(tree_id,'tree')],我以前用False代替form_id。