【发布时间】:2021-02-27 23:43:06
【问题描述】:
在 res.config 页面上创建了一个视图后,我实现了一个 many2one 字段,该字段列出了帮助台模块上的现有团队集。我想做的是在自动创建票证时设置默认的帮助台团队(默认情况下这是“客户服务”)。所以基本上,用户在我的 res.config 视图的自定义字段中选择的团队将是默认的帮助台团队。实现这一点的最佳方法是什么?
【问题讨论】:
在 res.config 页面上创建了一个视图后,我实现了一个 many2one 字段,该字段列出了帮助台模块上的现有团队集。我想做的是在自动创建票证时设置默认的帮助台团队(默认情况下这是“客户服务”)。所以基本上,用户在我的 res.config 视图的自定义字段中选择的团队将是默认的帮助台团队。实现这一点的最佳方法是什么?
【问题讨论】:
这可以通过在操作中使用context 轻松实现:
<field name="context">{'default_team_id': active_id}</field>
或者您可以使用lambda 默认函数以编程方式(不建议)执行此操作,如下所示:
team_id = fields.Many2one(comodel_name='helpdesk.team', default=_default_team_id)
def _default_team_id(self):
team_id = self.env.ref('my_module.best_team_ever').read()[0]
return team_id
# update using configuration would be:
def _default_team_id(self):
get_param = self.env['ir.config_parameter'].sudo().get_param
default_team = get_param('helpdesk.my_custom_default_team')
return default_team
【讨论】:
<field name="custom_field" context= "{'helpdesk.default_team_id': active_id}"/>