首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Odoo计算字段不能在函数中工作

Odoo是一款开源的企业资源规划(ERP)软件,它提供了丰富的功能和模块,可以帮助企业管理各个方面的业务流程。在Odoo中,计算字段是一种特殊类型的字段,它的值是通过计算其他字段的值得出的。

然而,Odoo的计算字段在函数中无法正常工作的原因可能有以下几点:

  1. 计算字段的计算逻辑错误:在定义计算字段时,可能存在逻辑错误或语法错误,导致计算字段无法正确计算。在这种情况下,需要仔细检查计算字段的定义,并确保逻辑正确。
  2. 计算字段依赖的字段不正确:计算字段的值是通过计算其他字段的值得出的,因此,如果计算字段依赖的字段不正确或不存在,计算字段将无法正常工作。在这种情况下,需要检查计算字段所依赖的字段是否正确,并确保这些字段存在且有正确的值。
  3. 数据库中的数据错误:如果计算字段依赖的字段在数据库中的数据错误或缺失,计算字段将无法正确计算。在这种情况下,需要检查数据库中的数据,并确保数据的准确性和完整性。

对于Odoo计算字段不能在函数中工作的问题,可以尝试以下解决方法:

  1. 检查计算字段的定义:仔细检查计算字段的定义,确保逻辑正确,语法无误。
  2. 检查计算字段依赖的字段:确认计算字段所依赖的字段是否正确,并确保这些字段存在且有正确的值。
  3. 检查数据库中的数据:检查数据库中计算字段依赖的字段的数据,确保数据的准确性和完整性。
  4. 更新Odoo版本:如果使用的是旧版本的Odoo,可能存在一些已知的问题或bug,可以尝试更新到最新版本,以获得修复和改进。
  5. 查找Odoo社区的解决方案:Odoo拥有庞大的社区和开发者群体,可以在Odoo社区论坛或邮件列表中寻求帮助,查找类似问题的解决方案或咨询其他开发者的意见。

总结起来,当Odoo计算字段不能在函数中工作时,需要仔细检查计算字段的定义、依赖字段的正确性,以及数据库中数据的准确性。如果问题仍然存在,可以尝试更新Odoo版本或寻求Odoo社区的帮助。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

odoo ORM API学习总结兼orm学习教程

(bool) – 该字段是否存储到数据库,针对计算字段,默认值为False,其它字段默认为True group_operator (str) – 在当前字段上分组时,供 read_group() 使用的聚合函数...计算字段 可以使用 compute 参数计算字段(而不是直接从数据库读取)它必须将计算值分配给字段。...他们在请求时被计算并返回。 设置store=True 将在数据库存储计算字段并启动开启字段搜索。 也可以通过设置search参数开启在计算字段上的搜索。该参数值为一个返回搜索条件的方法名称 。...在reverse的计算过程,所有使用所述inverse的字段都受到保护,这意味着即使它们的值不在缓存,也无法计算它们。...小技巧 如果希望在任何依赖项更改时重新计算related字段,则可以指定精确的字段依赖项: nickname = fields.Char( related='partner_id.name',

13.5K10

odoo 开发入门教程系列-计算字段和变更(Computed Fields And Onchanges)

自然地我们将总面积定义这两者的总和,我们将为此使用计算字段的概念,即给定字段的值将从其他字段的值中计算出来。 到目前为止,字段已直接存储在数据库并直接从数据库检索。字段也可以被计算。...在这种情况下,不会从数据库检索字段的值,而是通过调用模型的方法来动态计算字段的值。 要创建计算字段,请创建字段并将其属性compute设置为方法的名称。...依赖(Dependencies) 计算字段的值通常取决于计算记录其他字段的值。ORM期望开发人员使用修饰符depends()指定计算方法上的依赖项。...) Inverse函数 你可能已经注意到,计算字段默认总是只读的。...> 重启服务,浏览器验证(参考本章目标的第二个动画视图) 其它信息 默认的,计算字段不会存到数据库,因此,不可能基于计算字段进行搜索,除非定义一个search 方法。

3.2K30
  • ODOO配置文件etcodoo.conf配置详解

    ** **如果希望Odoo和PostgreSQL在同一台计算机上执行,UNIX套接字是可以的,并且在没有提供主机时是默认的,但是如果希望Odoo和PostgreSQL在不同的计算机上执行,则需要侦听网络接口...**的基本参数 Odoo通过端口5432通过UNIX套接字连接到本地postgres。...多处理是通过配置非零数量的工作进程来实现的,工作进程的数量应该基于机器的核心数量(可能有一些空间供cron工作进程使用,这取决于预测的cron工作量) 可以根据硬件配置配置工作进程限制,以避免资源耗尽...工作进程数量计算 数量规则:(#CPU * 2) + 1 Cron工作者需要CPU 1个工作进程~=6个并发用户 内存大小计算 我们认为20%的请求是繁重请求,而80%是简单请求 一个繁重的工作,当所有的计算字段都设计好了...这样做时,您需要将更多的http头转发给Odoo,并在Odoo配置激活代理模式,让Odoo读取这些头。

    7.3K31

    Odoo 通过Javascript调用模型自定义方法

    实践环境 Odoo 14.0-20221212 (Community Edition) 代码实现 在js脚本函数调用模型自定义方法: this....', // 模型自定义名称 args: ['arg_value'] // 传递给模型方法参数列表,列表每个元素对应模型方法的一个位置参数 }).then(function (res) { /...action_select_records_via_checkbox(self, *args): '''通过wizard窗口界面复选框选取记录时触发的操作 @params: args 为tuple元组,如果方法采用位置参数..._rpc函数能在非普通函数中使用,其使用范围可参考以下示例 odoo.define('estate.ListRenderer', function (require) { "use strict..._super.apply(this, arguments); } }); // ...此处代码已省略 }); 那问题来了,如果希望在普通的javascript函数中使用上述请求功能

    1.3K10

    Odoo 基础教程系列」第三篇——从 Todo 应用开始(2)

    在上一篇教程我们提到过,在对模型进行改动之后,需要对模块进行升级才能看到变更后的样子,除了从应用列表中找到模块进行升级外,我们还可以在命令行Odoo 的启动命令加上参数 -u todo 指定升级...这个需求跟时间有关,并且时间是流动(一直在变化)的,所以我们应该要有一个方法在用户每次打开待办事项之前,把这个结果计算好,并且反馈给用户,还好 Odoo 的 ORM 已经为我们实现了相关的机制——计算字段...deadline 这个字段的值(我们需要用它的值和当前时间进行比较),如果一个计算字段会用到多个其他字段的值,这里就需要以逗号分隔,将用到的值的字段名依次传入装饰器。...,那要怎么去用这个计算字段呢?...,并且还加上了属性 invisible,这个属性的作用是将当前字段隐藏起来,因为这里我们希望用户看到这个字段的值,而是将结果反映在颜色上。

    1.4K10

    odoo wizard界面显示带复选框列表及勾选数据获取

    wizard可以通过关系字段(many2one或many2many)引用常规记录或wizard记录,但常规记录不能通过many2one字段引用wizard记录 详细代码 注意:为了更清楚的表达本文主题...> 说明: saveSelectionsToSessionStorage 为"true"则表示点击复选框时,将当前选取的记录存到浏览器sessionStorage,可选 odoo14\custom\estate...odoo14\custom\estate\static\src\js\list_renderer.js 注意:之所以将uuid函数定义在list_renderer.js,是为了避免因为js顺序加载问题...,可能导致加载list_renderer.js时找不到uuid函数定义问题。...ID web.ListRenderer来覆盖框架自带的web.ListRenderer定义,这种实现方案只能在非Debug模式下正常工作,且会导致无法开启Debug模式,odoo.define实现中会对服务是否重复定义做判断

    5.3K60

    odoo 开发入门教程系列-基本视图

    在上一章已经看到,odoo能够为给定模型生成默认视图。实际上,默认视图对于业务应用程序来说是不可接受的。相反,我们至少应该以逻辑的方式组织各个字段。 视图是在带有操作和菜单的XML文件定义的。...在我们的estate模块,我们需要以逻辑方式组织字段: 在列表(树)视图中,我们希望显示的不仅仅是名称。 在表单视图中,应该对字段进行分组。 在搜索视图中,我们必须能够搜索的不仅仅是名称。...其最基础版本仅简单的列出要在表显示的所有字段(其中每个字段都是一列): <field name="...在<em>odoo</em><em>中</em>,domain对记录上的条件进行编码:domain是用于选择模型记录子集的条件列表。每个条件都是一个包含<em>字段</em>名、运算符和值的三元组。...例如,选择类型为“服务“或“单价”<em>不</em>介于1000和2000之间的产品 ['|', ('product_type', '=', 'service'), '!'

    3.3K40

    轻松部署Odoo软件

    准备 在云控制台获取您的 服务器公网IP地址 在云控制台安全组,检查 Inbound(入)规则 下的 TCP:80 端口是否开启 若想用域名访问 Odoo,请先到 域名控制台 完成一个域名解析 Odoo...请注意试用期后正式向 Odoo 官方订阅企业版,否则数据库被清空 [Odoo 注册提示] 更多应用的安装和系统管理类似社区版 数据库管理 为了保障 Odoo 系统的数据库安全,下面的数据库管理工作非常重要...此功能只能在开发者模式下使用,请确保你的 Odoo 控制台是否已经切换成开发者管理模式 如何删除 Odoo 演示数据?...云平台指提供云计算服务的平台厂家,例如:Azure,AWS,阿里云,华为云,腾讯云等 实例,云服务器,虚拟机,ECS,EC2,CVM,VM有什么区别?...Odoo爱好者博客:https://alanhou.org/category/odoo/ 贵司提供的企业版镜像包含授权吗? 包含授权,用户需要向Odoo官方订阅授权。

    4.9K00

    使用Kompose从Docker Compose 迁移到 Kubernetes

    您的代码库是否在容器化环境运行呢? 这很好 ! 但是如何使它可用?...生成的未填写的字段必须填写。例如,在我们的示例Odoo CRM 需要其 URL,以便 Traefik 重定向到它。...原因很容易猜到:由于数据存储是特定于每个基础架构的,并且每个公司在可用性和归档方面都有特定的需求,因此很容易理解,Kompose 希望就此主题给出任何特别的建议。。...它最终的行为与真正的 Ingress Controller 工作的行为非常相似,但它会在您的集群引起特殊性。...但是为了自动部署配置而将其直接集成到自动化 CI/CD 流程并不是一个很好的用途。 Kubernetes集群管理是一项全职工作,需要对工具有很好的了解才能尽可能多地避免出现问题。

    3.6K30

    Odoo开发指北 01 初识Odoo

    工作流开发:用软件表达企业层级的工作协作关系。有两种方式:XML方式定义、可视化拖拽编程定义。 报表开发:把系统的数据以特定形式输出打印。主要有:文档报表、图形报表等。...然后使用自己的模块:把自己的模块路径设置到odoo,重启odoo让其搜索到自定义模块,即可通过odoo进行安装。...提供的ORM接口匹配,也就是说这些模型类会自动存入sql。...脚手架 odoo-bin scaffold 命令新建了我们的 aaa 应用 …/odoo-bin scaffold aaa 模块开发流程 分析模块模型,得出模型所需的字段有哪些,然后定义模型类——...配置__init__.py和__manifest__.py 工作流开发   工作流开发主要使用xml,有三种组成元素:workflow、activity、transition。

    2.4K30

    如何在 Ububtu 18.04 上安装 Odoo 13

    想要启用多进程,你需要编辑 Odoo 配置文件,并且设置一个非 0 的工作进程数字。工作进程数字,基于 系统的 CPU 核心数字和可用的 RAM 内存来计算。...通过 Odoo 官方文档计算工作进程的数量以及需要的 RAM 内存大小,你可以使用下面的公式: 工作进程数量计算: 工作进程最大数量理论值 = (system_cpus * 2) + 1 1 个工作进程可以服务...30 users / 6 = **5**(5 是所需要的理论工作进程数量) (4 * 2) + 1 = **9**(9 是理论的最大工作进程数量) 基于上面的计算,你可以使用 5 个进程+1 个进程(Cron...基于工作进程,计算 RAM 内存: RAM = 6 * ((0.8*150) + (0.2*1024)) ~= 2 GB of RAM 计算结果显示,Odoo 安装将会需要大概 2GB 内存。...我们展示了如何在生产环境如何启用多进程以及优化 Odoo

    8.8K41

    如何在 CentOS 8 上安装 Odoo 13

    想要启用多进程,你需要编辑 Odoo 配置文件,并且设置一个非 0 的工作进程数字。工作进程数字,基于 系统的 CPU 核心数字和可用的 RAM 内存来计算。...通过 Odoo 官方文档计算工作进程的数量以及需要的 RAM 内存大小,你可以使用下面的公式: 工作进程数量计算: 工作进程最大数量理论值 = (system_cpus * 2) + 1 1 个工作进程可以服务...30 users / 6 = **5**(5 是所需要的理论工作进程数量) (4 * 2) + 1 = **9**(9 是理论的最大工作进程数量) 基于上面的计算,你可以使用 5 个进程+1 个进程(Cron...基于工作进程,计算 RAM 内存: RAM = 6 * ((0.8*150) + (0.2*1024)) ~= 2 GB of RAM 计算结果显示,Odoo 安装将会需要大概 2GB 内存。...我们展示了如何在生产环境如何启用多进程以及优化 Odoo

    4K20

    odoo 开发入门教程系列-一些用户界面

    这是因为,在odoo中加载CSV文件比加载XML文件更快。 odoo,用户接口(action,菜单和视图)大部分是通过创建和组装XML文件的记录来定义的。...Odoo有许多微调方式,但通常第一步是确保: 某些字段有默认值 某些字段只读 当记录重复时,某些字段不能被拷贝 在我们的房产业务案例,我们希望:: 售价只读(往后将自动填充) 当记录重复时,可用日期和售价不能被拷贝...字段定义,添加 default=X, 其中的X 可以是Python文本值(boolean, integer, float, string) ,也可以是一个以model对象自身为入参并返回一个值的函数:...参考: 主题相关文档可参考 保留字段名称. odoo为预定义行为保留了一些字段名称。...必选字段,且不能被拷贝,默认值New 修改 odoo14\custom\estate\models\estate_property.py EstateProperty类,修改active字段,增加state

    3K30

    odoo 开发入门教程系列-继承(Inheritance)

    提示: 可在vals获取property_id 字段,但是它是一个int型。...为此,我们需要向res.users模型添加一个字段,并调整其视图以显示它。 Odoo提供了两种继承机制来以模块化的方式扩展现有模型。...第一继承机制允许模块通过以下方式修改在另一个模块定义的模型的行为: 向模型添加字段 覆盖模型字段的定义 给模型添加约束 给模型添加方法 重写模型的现有方法 第二种继承机制...odoo,第一种机制最常用。在我们的例子,我们希望向现有模型添加一个字段,这意味着我们将使用第一种机制。...如果匹配任何元素或者匹配多个元素,则抛出错误 position 应用于匹配元素的操作: inside 将xpath的主体附加到匹配元素的末尾(个人理解,添加为匹配元素的子元素) replace

    2.2K20

    odoo 开发入门教程系列-模块交互

    Odoo提供了一个开发票模块,因此直接从我们的房地产模块创建发票是很简单的,也就是说,一旦某个房产设置为“已售出”,就会在Invoicing应用程序创建发票 一个具体示例: 记账凭证(Account...estate_property.py 文件 _inherit estate.property 模块 重写 action_sold 方法(你可能已经将该方法命名为不同的名称了) 以返回 super 调用 提示: 为了确保它正常工作...不幸的是,没有一种简单的方法可以知道如何在Odoo创建任何给定的对象。大多数时候,有必要查看其模型,以找到所需的字段并提供适当的值。 学习的一个好方法是看看其他模块是如何完成你想做的事情的。...create 方法不接受结果集作为字段值。...为此在account.move创建中包含invoice_line_ids字段,这是一个One2many字段。One2many和Many2many使用通用ORM方法描述的特殊“commands”。

    1.7K10

    odoo 权限管理学习总结

    那么在odoo如何区分用户类型以及如何做权限控制的呢?...如果文件的部分数据需要应用一次,则可以将文件的这部分放在,如下: <!...规则与组的关联关系存在rule_group_rel表 global 根据“groups”计算,提供了对规则是否全局状态的轻松访问。...如果当前用户不在列出的组,他将无权访问该字段: 将自动从请求的视图中删除受限制的字段 从fields_get()响应删除受限制的字段 尝试(显式的)读取或写入受限字段会导致访问错误 修改estate...注意:通过为当前视图中目标字段添加groups属性实现的权限控制仅作用于当前视图,如果希望当前视图模型(Model)的所有视图中,对该字段实现统一的权限控制话,需要在模型定义,为目标字段添加groups

    10.2K20

    odoo 为可编辑列表视图字段搜索添加查询过滤条件

    实践环境 Odoo 14.0-20221212 (Community Edition) 需求描述 如下图,列表网仓记录详情页面(form视图),编辑内联视图中的货主记录,为货主和仓库字段搜索,添加过滤条件...,具体如下: 添加、编辑货主时,下拉列表只展示选取和当网仓记录所属公司关联的货主,点击搜索更多,仅展示和当前网仓记录所属公司关联的货主 添加、编辑货主时,下拉列表只展示选取和当网仓记录关联的仓库(到...“仓库” Tab页添加的仓库),点击搜索更多,仅展示和当前网仓记录关联的仓库。...--此处代码已省略--> 修改ResPartner,重写模型name_search(编辑货主字段,弹出下拉列表时,会请求该模型函数),search_read(编辑货主字段...,点击下拉列表时 搜索更多打开界面时,会请求该模型函数) 提示:分析OmsNetworkLine模型定义可知道,货主字段(partner_id)为多对一字段,关联ResPartner 模型 class

    1.2K30

    如何在Ubuntu 18.04上安装ODOO管理软件

    您的企业需要稳固的工作流程。 如果没有这种协调,效率会飞出大门。 幸运的是,您的数据中心内有Linux服务器,可以完全帮助您完成工作流程。 怎么样? 借助开源CRM/ERP工具ODOO。...ODOO是销售,服务,运营,财务,营销,开发等一站式服务。 ODOO具有可扩展性,可通过10,000多种应用程序满足您的业务需求。 我知道你在想什么:这样的服务器软件几乎不可能安装? 。...-r odoo11/requirements.txt 上述两个命令的第二个大约需要5-10分钟。...=true User=odoo Group=odoo ExecStart=/opt/odoo/odoo11-venv/bin/python3 /opt/odoo/odoo11/odoo-bin -c /...准备启动 安装所有必需的应用程序后,您将需要运行ODOO配置选项(创建用户,设置公司等)。 完成后,您的ODOO站点即可启动并有助于简化您的业务工作流程。

    1.7K10
    领券