zoukankan      html  css  js  c++  java
  • odoo开发笔记 -- 异常处理in resolve_deps field = model

    场景描述:

    更新代码,重启服务服务后,odoo后台报错,提示关键字:in resolve_deps field = model._fields[fname]  KeyError: 'entry_id'

    没有其他信息了,一头雾水,因为最近修改代码文件比较多,代码中用到字段“entry_id”的地方很多,一下不知是哪块的问题。。。

    如下图:

    从输出的异常日志可以看出,是模型依赖的问题。于是开始网上查询类似案例,找到如下一则:

    https://www.odoo.com/zh_CN/forum/help-1/

    跟自己情况对比后,发现还是有区别的!!!!

    哎,怎么整,笨办法,备份当前代码,回到到两天前修改的代码状态。

    添加代码,按照本地提交记录,一步步测试!幸运的是,添加了第一次提交的代码运行后,重启服务,出现了相同的异常!

    这样,处理范围缩小了,检查模型代码,原来_rec_name值写错了,写成了_rec_name = 'entry_id',而该模型下并没有相应字段entry_id,所以服务启动加载代码编译的时候,出现了上述错误。

    如下举例:这里_rec_name应该写成TEST模型中存在的字段:cop_msg_id, 即:_rec_name = 'cop_msg_id'

    class TEST(models.Model):
        """ 出错的模型 """
        _name = 'test.test888'
        _description = 'test888'
        _rec_name = 'entry_id'
    
        cop_msg_id = fields.Char(string="******")
        name = fields.Char(string="******", size=18)

    反思总结:

    1. 及时提交代码测试,养成完成一个功能模块就提交测试的习惯。

    2. 细心,在类似功能开发,为了省力,复制代码的时候,尤其注意。

  • 相关阅读:
    SpringBoot-redis-session
    设计模式总结
    linux 查看磁盘信息
    MAC配置JAVA环境变量
    mysql设计规范二
    mysql设计规范一
    Alibaba 镜像
    ELK之Logstash配置文件详解
    Docker 搭建 ELK 读取微服务项目的日志文件
    SpringBoot 读取配置文件的值 赋给静态变量
  • 原文地址:https://www.cnblogs.com/hellojesson/p/11377474.html
Copyright © 2011-2022 走看看