草庐IT

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

Odoo安装/更新模块原理Odoo每次安装/更新模块时,会进行以下几步处理:1.判断是否需要创建表,如果需要创建且表不存在,则进行表的创建(不进行字段的创建);2.获取该表中已经存在的字段;3.获取odoo模型中的所有字段;4.遍历模型的所有字段,对需要存储的字段,如果字段在数据库已存在,则进行字段及字段属性的更新;如果字段在数据库中不存在,则进行字段的创建,字段属性的更新;5.如果新建了字段,且为compute字段并store=True,则将compute方法加入任务队列,进行历史数据的计算存储;因为调用的是Odoo的ORM,会导致计算存储时间过长; 解决方案Odoo安装/更新模块时间过长解

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

Odoo安装/更新模块原理Odoo每次安装/更新模块时,会进行以下几步处理:1.判断是否需要创建表,如果需要创建且表不存在,则进行表的创建(不进行字段的创建);2.获取该表中已经存在的字段;3.获取odoo模型中的所有字段;4.遍历模型的所有字段,对需要存储的字段,如果字段在数据库已存在,则进行字段及字段属性的更新;如果字段在数据库中不存在,则进行字段的创建,字段属性的更新;5.如果新建了字段,且为compute字段并store=True,则将compute方法加入任务队列,进行历史数据的计算存储;因为调用的是Odoo的ORM,会导致计算存储时间过长; 解决方案Odoo安装/更新模块时间过长解

odoo 开发入门教程系列-添加修饰

添加修饰我们的房地产模块现在从商业角度来看是有意义的。我们创建了特定的视图,添加了几个操作按钮和约束。然而,我们的用户界面仍然有点粗糙。我们希望为列表视图添加一些颜色,并使一些字段和按钮有条件地消失。例如,当房产已出售或取消时,“已售出”和“取消”按钮应消失,因为此时不再允许更改状态。参考:文档关联的主题可以查看Views.内联视图(InlineViews)在房地产模块中,我们为房产添加了一个报价列表。我们通过以下代码简单地添加了offer_ids字段:该字段使用estate.properties.offer的特定视图。在某些情况下,我们希望定义一个仅在表单视图上下文中使用的特定列表视图。例如

odoo 开发入门教程系列-添加修饰

添加修饰我们的房地产模块现在从商业角度来看是有意义的。我们创建了特定的视图,添加了几个操作按钮和约束。然而,我们的用户界面仍然有点粗糙。我们希望为列表视图添加一些颜色,并使一些字段和按钮有条件地消失。例如,当房产已出售或取消时,“已售出”和“取消”按钮应消失,因为此时不再允许更改状态。参考:文档关联的主题可以查看Views.内联视图(InlineViews)在房地产模块中,我们为房产添加了一个报价列表。我们通过以下代码简单地添加了offer_ids字段:该字段使用estate.properties.offer的特定视图。在某些情况下,我们希望定义一个仅在表单视图上下文中使用的特定列表视图。例如

odoo 开发入门教程系列-约束(Constraints)

约束(Constraints)上一章介绍了向模型中添加一些业务逻辑的能力。我们现在可以将按钮链接到业务代码,但如何防止用户输入错误的数据?例如,在我们的房地产模块中,没有什么可以阻止用户设置负预期价格。odoo提供了两种设置自动验证恒定式的方法:Python约束andSQL约束。SQL参考:与此主题相关的文档可以查看Models和PostgreSQL文档我们通过模型属性_sql_constraints来定义SQL约束,该属性被赋值为一个包含三元组(name,sql_definition,message)的列表,其中name为一个合法的SQL约束名称,sql_definition为表约束表达式,

odoo 开发入门教程系列-约束(Constraints)

约束(Constraints)上一章介绍了向模型中添加一些业务逻辑的能力。我们现在可以将按钮链接到业务代码,但如何防止用户输入错误的数据?例如,在我们的房地产模块中,没有什么可以阻止用户设置负预期价格。odoo提供了两种设置自动验证恒定式的方法:Python约束andSQL约束。SQL参考:与此主题相关的文档可以查看Models和PostgreSQL文档我们通过模型属性_sql_constraints来定义SQL约束,该属性被赋值为一个包含三元组(name,sql_definition,message)的列表,其中name为一个合法的SQL约束名称,sql_definition为表约束表达式,

【魅力开源】第6集:在Ubuntu20.04上快速部署安装Odoo16(Ubuntu20.4 + Odoo16 + Postgresql12 + nginx1.8安装)(完整篇)

文章目录前言安装步骤1.将Ubuntu升级到最新2.Postgresql数据库安装3.Odoo服务安装4.服务启动/停止/重启5.开启防火墙6.查看服务是否启动7.Odoo及PostgreSQL安装目录结构8.Odoonginx80端口极简配置8.1.安装nginx8.2确定nginx正常8.3修改nginx参数8.4重启nginx服务使用配置生效前言本文将指导你在广泛使用的Linux发行版Ubuntu20.4上安装Odoo服务。本文部署环境:Ubuntu20.04+PostgreSql12+Odoo16+Nginx1.8。整个部署过程预计需花费30分钟左右。安装步骤1.将Ubuntu升级到最

【魅力开源】第6集:在Ubuntu20.04上快速部署安装Odoo16(Ubuntu20.4 + Odoo16 + Postgresql12 + nginx1.8安装)(完整篇)

文章目录前言安装步骤1.将Ubuntu升级到最新2.Postgresql数据库安装3.Odoo服务安装4.服务启动/停止/重启5.开启防火墙6.查看服务是否启动7.Odoo及PostgreSQL安装目录结构8.Odoonginx80端口极简配置8.1.安装nginx8.2确定nginx正常8.3修改nginx参数8.4重启nginx服务使用配置生效前言本文将指导你在广泛使用的Linux发行版Ubuntu20.4上安装Odoo服务。本文部署环境:Ubuntu20.04+PostgreSql12+Odoo16+Nginx1.8。整个部署过程预计需花费30分钟左右。安装步骤1.将Ubuntu升级到最

【Odoo】Odoo16-性能优化提升

🚀优质资源分享🚀学习路线指引(点击解锁)知识定位人群定位🧡Python实战微信订餐小程序🧡进阶级本课程是pythonflask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。💛Python量化交易实战💛入门级手把手带你打造一个易扩展、更安全、效率更高的量化交易系统上海序说科技,专注于基于Odoo项目实施,实现企业数智化,助力企业成长。老韩头的开发日常,博客园分享(2022年前博文)10月12日,Odoo16版本正式发布,本文将就Odoo官方在性能方面做的优化做一个总结。如果需要官方视频,可以翻阅B站,有不少朋友已经做了搬运工。性能提升切入点Odoo作为B/S架构的应用

【Odoo】Odoo16-性能优化提升

🚀优质资源分享🚀学习路线指引(点击解锁)知识定位人群定位🧡Python实战微信订餐小程序🧡进阶级本课程是pythonflask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。💛Python量化交易实战💛入门级手把手带你打造一个易扩展、更安全、效率更高的量化交易系统上海序说科技,专注于基于Odoo项目实施,实现企业数智化,助力企业成长。老韩头的开发日常,博客园分享(2022年前博文)10月12日,Odoo16版本正式发布,本文将就Odoo官方在性能方面做的优化做一个总结。如果需要官方视频,可以翻阅B站,有不少朋友已经做了搬运工。性能提升切入点Odoo作为B/S架构的应用