首页 > 其他分享 >odoo关于计算字段store=True时导致的安装/更新时间较长问题的解决方案

odoo关于计算字段store=True时导致的安装/更新时间较长问题的解决方案

时间:2022-12-02 16:15:13浏览次数:48  
标签:compute True sql 更新 字段 模块 odoo 安装 store

Odoo安装/更新模块原理

Odoo每次安装/更新模块时,会进行以下几步处理:

  • 1.判断是否需要创建表,如果需要创建且表不存在,则进行表的创建(不进行字段的创建);
  • 2.获取该表中已经存在的字段;
  • 3.获取odoo模型中的所有字段;
  • 4.遍历字段,对需要存储的字段,进行字段的更新/创建,字段属性的更新;
  • 5.如果是compute字段且store=True,则将compute方法加入任务队列,进行历史数据的计算存储;

因为调用的是Odoo的ORM,会导致计算存储时间过长;

 

解决方案

Odoo安装/更新模块时间过长解决方案

方案1

原理:不使用compute字段,每次保存某关键字段时调用方法

  • 1.不使用compute类型而改为常规类型;
  • 2.历史数据在安装/更新时使用sql处理;
  • 3.新记录使用depends/contrains方式在保存数据时调用函数解决;

 

方案2

原理:预先使用sql创建字段在安装/更新时会跳过compute方法

  • 1.使用compute字段;
  • 2.在安装/升级模块前先使用sql给表新增字段及添加值;
  • 3.安装/升级模块后走compute方法;

 

方案3

原理:安装/更新模块跳过python方法,使用sql计算值

  • 1.使用compute字段;
  • 2.在安装/更新模块时,不触发方法;新记录触发;
  • 3.安装/更新后,使用sql处理历史数据;

具体原理请结合 odoo安装/更新模块原理 一节理解。

 

标签:compute,True,sql,更新,字段,模块,odoo,安装,store
From: https://www.cnblogs.com/yifchan/p/16944734.html

相关文章

  • 苹果App Store上传应用流程详解
    在向AppStore提交应用之前,开发者首先要成为苹果iOS开发者项目的成员,每年向苹果缴纳99美元或199美元的费用(具体申请方法后期更新)。其次创建相应的证书Development是开发环境......
  • 苹果App Store上传应用流程详解
    在向AppStore提交应用之前,开发者首先要成为苹果iOS开发者项目的成员,每年向苹果缴纳99美元或199美元的费用(具体申请方法后期更新)。其次创建相应的证书Development是开发环......
  • iOS上架App Store之苹果发布证书的申请流程
     iOS发布证书用于上架AppStore,当开发好APP后需要上架就要用iOS底部证书有p12及mobileprovision两个文件去打包!只有用iOS发布证书打包的ipa才能上传到AppStore一......
  • APP Uploader-iOS APP上架到App Store的辅助工具
     APPUploaderAPP开发助手-iOSAPP上架到AppStore的辅助工具,解决iOSAPP上架繁琐费时的情况,帮助跨平台APP开发者上架苹果应用,在没有配置Mac苹果机的情况,实现iOS证......
  • 最新版 苹果 IOS AppStore证书申请全流程 包括p12文件
    第一步登陆开发者网站并进入证书管理页。辅助工具网站地址:http://www.applicationloader.net/第二步添加【Certificates】证书。在这里插入图片描述第三步进入添加页后,根据......
  • 最新版 苹果 IOS AppStore证书申请全流程 包括p12文件
     第一步登陆开发者网站并进入证书管理页。辅助工具网站地址:http://www.applicationloader.net/第二步添加【Certificates】证书。在这里插入图片描述......
  • iOS开发之打包上传到App Store——(一)各种证书的理解
     OK,有日子没写iOS开发的相关文章啦,主要是最近的精力都没在这上面,不过既然产品已经快要出来了,就有必要了解一下各种证书啥的(众所周知iOS的一堆证书可是很让人头大呀),最近......
  • iOS 生成证书、描述文件、打包上架Appstore详细流程
    简介我打算将生成证书,描述文件、上架App的步骤一步一步写下来,于是就有了这篇文章编译环境系统版本:macOSSierra10.12.6​​Xcode​​:v9.2(9C40b)1.开发者账号​​苹果官......
  • 小程序市场的「App Store」来了!你准备好吃“螃蟹”了吗?
    2008年7月11日AppStore正式上线手机软件业开始进入了一个高速的良性的发展的轨道人们上网的载体逐渐从网页转换至移动应用智能手机从此开始「大有所为,无所不能为」但......
  • pinia源码解读三(创建store)
    定义模块这一步很复杂,用几个流程图来梳理一下createOptionsStore方法createSetupStore方法数据流向最后整理下数据的流向变更,对于写pinia插件很有帮助option写法版......