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

Odoo16继承问题:无法在Helpdesk工单表单视图添加按钮

Odoo 16 Helpdesk工单表单头部添加按钮报错“Field stage_id does not exist”的解决办法

问题场景

为给Odoo 16的Helpdesk工单表单视图头部添加按钮,我创建了专用模块,模块包含models、security、views等标准目录:

  • 视图文件中继承了helpdesk.helpdesk_ticket_view_form表单视图
  • 模型代码中使用__inherit = 'helpdesk.ticket'并指定_name = 'helpdesk.ticket.custo'

更新模块时触发错误:Field 'stage_id' does not exist

错误原因

在Odoo的模型继承机制中:

  • 使用__inherit并指定_name属于表继承(Table Inheritance),会创建一个全新的模型和数据库表,原模型的字段不会自动同步到新模型中
  • 但视图继承的是原helpdesk.ticket模型的表单视图,视图中引用的stage_id等字段在新创建的helpdesk.ticket.custo模型中不存在,因此触发字段不存在的错误

解决步骤

修改模型代码,使用**单表继承(Single Table Inheritance)**的方式扩展原模型:

  1. 仅保留_inherit = 'helpdesk.ticket',不要指定_name属性
  2. 重新更新模块

这样修改后,模块会直接在原helpdesk.ticket模型上做扩展,原模型的所有字段都会保留,视图继承也能正常生效,即可成功在工单表单头部添加自定义按钮。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 01:44:53