You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Odoo 16调用message_post时subtype参数报错,如何解决?

Odoo 16 解决message_post subtype参数报错方案

报错信息明确说明subtype参数已被弃用,需改用subtype_xmlid或subtype_id参数,以下是两种可行的解决方式:

方法一:使用subtype_xmlid参数

直接将原代码中的subtype替换为subtype_xmlid即可,因为你已在manifest.json中添加了hr_recruitment模块依赖,对应的XML ID可以直接引用:

applicant.job_id.message_post(
    body=_(
        'New Employee %s Hired') % applicant.partner_name if applicant.partner_name else applicant.name,
    subtype_xmlid="hr_recruitment.mt_job_applicant_hired"
)

方法二:使用subtype_id参数

先通过env.ref获取子类型的ID,再传入subtype_id参数:

# 获取消息子类型ID
subtype_id = self.env.ref('hr_recruitment.mt_job_applicant_hired').id

applicant.job_id.message_post(
    body=_(
        'New Employee %s Hired') % applicant.partner_name if applicant.partner_name else applicant.name,
    subtype_id=subtype_id
)

两种方法均可解决问题,推荐使用第一种方式,代码更简洁直接。

内容的提问来源于stack exchange,提问作者Bappi Saha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 21:42:09