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

在Odoo的res.partner模型添加两个Many2one字段触发数据库错误

错误原因解析

这个报错的本质是数据库字段类型不匹配:

  • Odoo默认将res.partner的主键id设为integer(整数)类型,当你定义关联到res.partner的Many2one字段时,Odoo会自动在数据库中创建对应整数类型的字段,用于存储关联对象的ID。
  • 但你的数据库里,新添加的field2(或其中一个字段)被设置成了character varying(字符串)类型。PostgreSQL执行关联查询时,需要拿字符串类型的字段和整数类型的res.partner.id做相等判断,而数据库没有支持这种跨类型匹配的运算符,因此直接抛出错误。

常见触发场景:

  • 之前手动修改过数据库表的字段类型,把新增字段改成了字符串
  • 模块升级/迁移过程中出现异常,导致字段类型创建错误
  • 存在自定义扩展逻辑,强制修改了字段的数据库类型

解决方向:

  1. 先检查res_partner表的field1和field2字段类型,确认是否为整数类型
  2. 如果类型错误,备份数据后手动将字段修改为integer类型
  3. 或者删除错误字段,重新运行模块升级,让Odoo自动生成正确的字段类型

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 01:39:56