odoo开发笔记 -- 日常开发注意点总结(持续补充)

(1) odoo视图字段,如果是readonly,默认该数据是不会往后台传递的,因此,保存数据的时候,该字段的数据是不会存到数据库中的。(待确认,字段中增加默认值,保存)

(2)视图界面,注释的时候,一般情况,饿哦们认为注释的代码,启动服务时,就不会被解释;其实不是,当视图中没有涉及变量的action视图ID引用指向的时候,这种情况下,确实没有影响;但是,如果被注释的该段代码,包含了引用另一个窗口视图的ID,即使注释掉,当你更新升级模块的时候,还会加载,出现视图外部extend id找不到的异常。其实原因是,odoo一旦模块被安装,相应视图的ID也会存在数据库中,

出现外部ID找不到的异常,解决方式。

(3) 改完权限文件ir.model.access.csv文件,需要重新启动服务,才会生效。

(4) odoo 模型函数装饰器,depends 和 onchange区别

onchange 前端视图变化触发,后台不触发;

depends 前台视图和后端字段值发生变化,都会触发。

(5) 当你需要从一票单据,复制生成多个单据的时候,默认单据名流水号也会被复制,为了避免这种情况,确保创建的几个单据,流水号不同,需要在后台模型中,流水号对应的字段,添加:copy=False属性。

(6) 代码中修改模型 py文件后,只需要重启odoo服务,重新加载页面,就会生效;当代码中修改视图view xml文件后,需要重启服务,并升级模块才能生效;修改static静态文件,图片,js,css样式文件,不需要重启odoo服务,也不需要升级模块,F5强制刷新相应界面,就会生效。

(7)扩展模型的write更新方法,def write(self, vals): self是上一次保存前的数据,vals是获取get了, 当前修改的字段数据。

 

posted @ 2018-06-20 19:50  hello-Jesson  阅读(1560)  评论(0编辑  收藏  举报