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

Odoo13 添加One2many字段升级模块报inverse name错误咨询

问题原因及对应解决方案

1. 核心依赖导入缺失

你当前comite technique模块的models.py只导入了calendar库,代码中用到的api、fields、models三个Odoo核心对象没有导入,是最直接的报错触发原因。
解决方案:在models.py头部添加导入语句:

from odoo import api, fields, models
import calendar

2. 日期类型处理逻辑错误

_get_day_of_date方法中对Date类型的date字段使用了fields.Datetime.from_string()方法处理:Odoo的Date字段返回的是原生date对象,不是字符串,也不需要用Datetime类的方法转换,类型不匹配会触发运行时错误。
解决方案:修改onchange方法逻辑:

@api.onchange('date')
def _get_day_of_date(self):
    for r in self:
        if r.date:
            r.jour = calendar.day_name[r.date.weekday()]

3. 模块依赖配置错误

如果initiative.promoteur和initiative.comitetechnique两个模型分属不同的Odoo模块,需要在comite technique模块的__manifest__.py配置文件的depends列表中,添加promoteurs模型所属模块的技术名称,否则Odoo升级时找不到关联的initiative.promoteur模型,会触发字段创建失败报错。
示例配置(假设promoteurs所在模块技术名为initiative_promoteur):

'depends': ['base', 'initiative_promoteur'],

4. 模块升级顺序错误

需保证先升级promoteurs所在的模块,确认comite_idMany2one字段已经成功写入数据库后,再升级comite technique模块。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 03:24:04