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. 细心,在类似功能开发,为了省力,复制代码的时候,尤其注意。
odoo开发笔记 -- 异常处理in resolve_deps field = model的更多相关文章
- odoo开发笔记 -- div标签代替odoo button写法
odoo开发笔记 -- div标签代替odoo button写法 并调用自定义js <footer> <div id="confirm_request_cloud_repo ...
- odoo开发笔记 -- 搜索视图继承扩展
odoo开发笔记 -- 搜索视图继承扩展
- odoo开发笔记 -- 后台日志输出及分析
odoo开发笔记 -- 后台日志输出及分析 附:日志分析软件
- odoo开发笔记 -- 用户配置界面如何增加模块访问权限
在odoo设置界面,点击用户,进入用户配置界面,会看到: 访问权 | 个人资料菜单 在访问权 page菜单界面,可以看到系统预制的一些模块都会显示在这里, 那么,我们自己开发的模块如何显示在这块呢,从 ...
- odoo开发笔记--字段追踪,消息通知机制
odoo有着强大的消息记录.通知机制: 实际开发中,常常会有客户的需求,页面上form视图中的某些字段不允许反复修改, 假如有的用户修改了,恶意搞坏,往往容易给公司利益造成损失,或破坏,那么如何有效的 ...
- odoo开发笔记:Server+Action服务器动作自动触发执行
Odoo的市场定位是SME(中小型企业),这个市场的ERP产品,多如牛毛,产品各具特色.不过,Odoo的自动化处理机制,可以睥睨天下,无人能及.包括一些大型国产软件,如用友.金蝶也不具备 ...
- odoo开发笔记 -- self详解
python中一切皆对象! odoo基于python开发,那么odoo中也可以理解成一切皆对象. 我们在python中定义类的时候,一般会用到self,用来表示当前对象自己. 那么odoo中的self ...
- odoo开发笔记 -- odoo10 视图界面根据字段状态,动态隐藏创建&编辑按钮
场景描述: 解决方式: 网络搜索,vnsoft_form_hide_edit 找到了这个odoo8的模块, odoo10语法和视图界面有新的变化,所以需要修改一些地方,感兴趣的小伙伴可以对比下两个代码 ...
- odoo开发笔记 -- 异常信息处理汇总
1 Traceback (most recent call last): File , in _handle_exception return super(JsonRequest, self)._ha ...
随机推荐
- Linux-firewall防火墙
systemctl status firewalld firewall-cmd --zone=public --list-ports ##查看已开放的端口 2.添加5901端口到白名单 执行 fire ...
- Linux指令(搜索查找类)
find指令 将从指定目录下递归的遍历其各个子目录,将满足条件的文件或者目录显示在终端. 基本语法: find [搜索范围] [选项] 选项说明: 选项 功能 -name<查询方式> 按照 ...
- MySQL存储过程02
这次接着说MySQL存储过程: 我们先看它的多分支控制结构case: case的语句很简单: case 变量名 when 条件1 then 输出结果1; when 条件2 then 输出结果2; .. ...
- mongodb replica-set
mongodb 主从复制 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系 ...
- keepalived日志显示脚本能执行成功,但是amoeba程序没启动起来,单独执行脚本amoeba能启动成功,放到keepalived里面启动不起来
keepalived日志如图: 解决:keepalived还有crontab等计划任务自动执行脚本,并不会有本地用户的环境变量,需要在脚本里面加 . /etc/profile 引入本地用户的环境变量
- 一些带dga域名的恶意软件
04/02/2019 06:17下午 6,488,759 f4f242a50ba9efa1593beba6208a2508_PWS.win32.Simda_1250_DGADNS.pcap Simda ...
- @Scope("prototype")
spring中bean的scope属性,有如下5种类型: singleton 表示在spring容器中的单例,通过spring容器获得该bean时总是返回唯一的实例prototype表示每次获得bea ...
- python开发笔记-类
类的基本概念: 问题空间:问题空间是问题解决者对一个问题所达到的全部认识状态,它是由问题解决者利用问题所包含的信息和已贮存的信息主动的地构成的. 初始状态:一开始时的不完全的信息或令人不满意的状况: ...
- nginx和ftp搭建图片服务器
一.需要的组件 图片服务器两个服务: Nginx(图片访问): 1.http服务:可以使用nginx做静态资源服务器.也可以使用apache.推荐使用nginx,效率更高. 2.反向代理 实现 负载均 ...
- tf.logging.set_verbosity
tf.logging.set_verbosity (tf.logging.INFO) 作用:将 TensorFlow 日志信息输出到屏幕