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

Odoo代码,如果自定义模块中boolean为true,如何设置条件?

在Odoo中,如果自定义模块中的boolean字段为True,可以使用domain来设置条件。domain是Odoo中用于筛选数据库记录的一种机制,它可以在查询和过滤数据库记录时定义特定的条件。

要设置条件,需要在模型中的字段定义中添加domain属性。下面是一个示例:

代码语言:txt
复制
class MyModel(models.Model):
    _name = 'my.model'

    my_boolean_field = fields.Boolean(string='My Boolean Field', default=False)

    my_other_field = fields.Char(string='My Other Field', compute='_compute_my_other_field')

    @api.depends('my_boolean_field')
    def _compute_my_other_field(self):
        for record in self:
            if record.my_boolean_field:
                # 设置条件,例如只显示那些my_boolean_field为True的记录
                record.my_other_field = "My boolean field is true"
            else:
                record.my_other_field = "My boolean field is false"

在上述示例中,my_boolean_field是一个布尔型字段,根据它的值,我们通过_compute_my_other_field方法来计算my_other_field的值。如果my_boolean_field为True,则my_other_field显示为"My boolean field is true",否则显示为"My boolean field is false"。

关于domain的详细信息和用法,请参考腾讯云文档中关于Odoo开发文档的部分。

此外,Odoo还提供了强大的模块化开发和可扩展性,可以根据具体需求自定义模块,并使用丰富的功能和组件来构建企业应用系统。

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

相关·内容

odoo 开发入门教程系列-模型和基本字段

在我们的房地产模块,我们希望将与房地产相关的信息(名称(name)、描述(description)、价格(price)、居住面积(living area)…)存储在数据库。...odoo框架提供了数据库交互的工具 开始练习前,请确保estate模块已被安装,也就是说必须以installed的状态出现在Apps列表,如下 对象关系映射(Object-Relational Mapping...ORM 层是odoo的一个关键组件。该层避免了手动写入大部分SQL并提供可扩展性和安全服务. 业务对象被定义继承于 Model的Python类。可以通过在定义设置属性来配置model。...最重要的属性 _name,该属性定义了model在odoo系统的属性。...required (bool, default: False) 如果 True, 表示该字段值不能为空。创建记录时必须拥有默认值或给定的值。

2.3K30

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

如果_auto设置True的话。...字段(Fields) class odoo.fields.Field[源代码] 字段拥有以下属性 string (str) – 用户看到的字段的标签;如果设置,ORM将采用类的字段名开头字母改成大写后的...取决于字段属性,添加一个默认的公司domain class odoo.fields.One2many[源代码] One2many字段的值 comodel_name中所有满足条件的记录的结果集,而目标模型的...设置store=True 将在数据库存储计算及字段并启动开启字段搜索。 也可以通过设置search参数开启在计算字段上的搜索。该参数值一个返回搜索条件的方法名称 。...odoo.fields.Char类型 odoo.fields.active 切换记录的全局可见性,如果active设置False,则记录在大多数搜索和列表不可见。

13.4K10

在Ubuntu 16.04上安装Odoo 10

部署后,Odoo允许管理员安装任何模块组合,并根据业务需求配置/定制它,范围从小型商店到企业级公司。 本教程介绍了如何使用Git源代码在一小时内安装和配置Odoo,以便于升级,维护和自定义。...db_port = False- Odoo使用PostgreSQL默认端口5432,只有在使用自定义PostgreSQL设置时才更改此设置。...如果您使用自定义模块,请添加替换您自己的路径。...sudo chown -R odoo: /opt/odoo/ 如果您选择使用自定义日志,请将odoo用户也设置日志目录的所有者(仅当您决定使用单独的日志文件时才适用): sudo chown odoo...如果一切按预期进行,您可以启动负载测试模块“行为”测试(与代码不兼容的错误不同),以及您配置的任何其他测试。 更新您的生产系统 如果所有测试都通过,您可以更新生产安装。

3.3K42

如何在Ubuntu 18.04上部署Odoo 11

激活环境: source odoo11-venv/bin/activate】 并安装所有必需的Python模块: pip3 install -r odoo11/requirements.txt 如果在安装过程遇到任何编译错误...安装完成后,请停用环境并使用以下命令切换回sudo用户: deactivate exit 如果您计划安装自定义模块,最好将这些模块安装在单独的目录。...要为我们的自定义模块运行创建一个新的目录: sudo mkdir /opt/odoo/odoo11-custom-addons sudo chown odoo: /opt/odoo/odoo11-custom-addons.../odoo/odoo11-custom-addons 如果您使用自定义模块,请不要忘记将my_admin_passwd更改为更安全的内容并调整addons_path。...如果您想使用Nginx作为SSL终止代理,请确保您符合以下先决条件: 您有一个指向您的公共服务器IP的域名。

1.9K20

ODOO配置文件etcodoo.conf配置详解

作为登录公司用户使用后端(web客户端)时,这不是问题:登录时可以选择数据库,然后加载自定义设置。 ...当Postgres部署不是本地部署和/或不使用安装默认值时,可以使用数据库选项覆盖此设置。 打包的安装程序将自动创建一个新用户(odoo),并将其设置数据库用户。 数据库管理界面受管理密码设置保护。...此设置只能使用配置文件进行设置,并在执行数据库更改之前进行简单检查。应将其设置随机生成的值,以确保第三方不能使用此接口。 所有数据库操作都使用数据库选项,包括数据库管理界面。...这样做时,您需要将更多的http头转发给Odoo,并在Odoo配置激活代理模式,让Odoo读取这些头。...   ;是否将log写入db的ir_logging表   log_db = False   ;设置模块的日志级别,可以是一组module:log_level对, 默认值是“:INFO”(表示所有模块的默认日志级别为

6.9K21

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

数据文件的内容也是在模块安装或者更新时按序加载。因此,对CSV文件所做的所有说明对XML文件都适用。...查找一些合适的属性 (查看字段) 来: 设置售价只读 阻止复制可用日期和售价 修改 odoo14\custom\estate\models\estate_property.py EstateProperty...字段默认值‘Unknown’,而last_seen 字段默认值当前时间 练习 -- 设置默认值 添加适当的默认值: 卧室数量默认值 2 可用日期默认为3个月内 修改 odoo14\custom\...False 练习--active字段添加设置 active字段设置默认值 active 字段设置适当的属性值,让它不再出现在页面。...练习 -- 添加state字段 estate.property model添加state 字段(字段名可自定义),一个选择列表。

2.9K30

odoo 开发入门教程系列-模型之间的关系(Relations Between Models)

模型之间的关系(Relations Between Models) 上一章介绍了包含基本字段的模型创建自定义视图。然而,在任何真实的业务场景,我们都需要不止一个模型。此外,模型之间的链接是必要的。...参考: 本主题相关文档可查阅 Many2one 在我们的房地产模块,我们想定义房地产类型的概念,例如,房屋或公寓。...> 重启服务,刷新浏览器验证 在房地产模块,我们仍然缺失两条关于房产的信息:买家和销售人员。...买家可以是任何个人,然而,销售人员必须是房产机构的员工(即odoo用户)。 在odoo,有两种我们经常引用的两种模型: res.partner: 一个partner一个物理实体或者法人实体。...odoo如何知道我们的报价与哪个房产相关?这就是使用odoo框架的一部分魔力:有时候事情是隐式定义的。

4.4K40

odoo 给列表视图添加按钮实现数据文件导入

实践环境 Odoo 14.0-20221212 (Community Edition) 代码实现 模块文件组织结构 说明:为了更好的表达本文主题,一些和主题无关的文件、代码已略去 odoo14\custom...> 说明:,其中estate_customer_tree下文javascript定义的组件,实现添加自定义按钮...,想复用上述js,需要替换js以下内容: 修改estate.upload.customer.mixin其它自定义全局唯一值 替换o_estate_customer_upload在对应按钮视图模板定义的对应...替换estate_customer_tree自定义全局唯一值 do_action Widget() 的快捷方式(定义在odoo14\odoo\addons\web\static\src\js\core...(如果已经存在则替换,如果不存在则添加) 注意:参考官方文档,t-extend这种继承方式旧的继承方式,已废弃,笔者实践了最新继承方式,如下 <?

3.5K30

如何在 CentOS 8 上安装 Odoo 13

13 在开始安装之前,切换用户至odoo13: sudo su - odoo13 开始从 Odoo 的 Github 源仓库克隆 Odoo 13 源代码: git clone https://www.github.com...-r odoo/requirements.txt 如果你在安装过程遇见任何编译错误,请确保你安装了所有的依赖软件包。...具体依赖包参考`Installing Dependencies` 一旦安装完成,解除这个环境: deactivate 自定义组件创建一个新的目录: mkdir /opt/odoo13/odoo-custom-addons...想要启用多进程,你需要编辑 Odoo 配置文件,并且设置一个非 0 的工作进程数字。工作进程数字,基于 系统的 CPU 核心数字和可用的 RAM 内存来计算。...我们展示了如何在生产环境如何启用多进程以及优化 Odoo

3.9K20

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

模块交互 在上一章,我们使用继承来修改模块的行为。在我们的房地产场景,我们希望更进一步,能够为客户生成发票。...Odoo提供了一个开发票模块,因此直接从我们的房地产模块创建发票是很简单的,也就是说,一旦某个房产设置“已售出”,就会在Invoicing应用程序创建发票 一个具体示例: 记账凭证(Account...这是意料之中的,因为你的模块依赖它。 如果你卸载Invoicing模块,你的模块也会被卸载。 说明:__init__.py空 重启服务,安装模块 创建发票 是时候生成发票了。...为此,我们需要在estate_account模块创建一个模型,继承estate.property模型。...如果没有,请检查是否正确导入了所有Python文件。 如果重写生效,我们可以继续创建发票。不幸的是,没有一种简单的方法可以知道如何Odoo创建任何给定的对象。

1.7K10

在云端快速构建一个 ODOO 站点

ODOO 作为一款开源软件,功能却非常完善,涵盖了账户、CRM、销售、支付、仓储、项目管理、网站建设等等模块,并且还支持开发自定义模块。...本文主要介绍如何在腾讯云的环境下,通过简单的步骤,快速搭建一个 ODOO 的站点。...在pssword后输入密码,密码管理员账号的密码,回车后即完成登录。 注:管理员账号的初始密码在上面购买过程设置过,用户也可以重置密码,详见管理员账号密码重置。...nightly/rpm/odoo.repo yum install -y odoo 注意,本文以CentOS 7系统例,对于其它系统,详细的安装指引可以参考官方文档。.../log/odoo.log logrotate = True log_handler = :INFO pidfile = /data/odoo/proc/odoo.pid 创建ODOO运行环境需要的目录

9.8K30

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

继承(Inheritance) Odoo的一个强大方面是它的模块化。模块专用于业务需求,但模块也可以相互交互。这对于扩展现有模块的功能非常有用。...在介绍特定的Odoo模块继承之前,让我们看看如何更改标准CRUD(创建、检索,更新或删除)方法的行为 Python继承(Python Inheritance) 目标: 不能删除状态不为New、Canceled...创建报价时,设置房产状态‘Offer Received’,如果用户试图以低于已存在报价的金额创建报价时抛出错误。 提示: 可在vals获取property_id 字段,但是它是一个int型。...第一继承机制允许模块通过以下方式修改在另一个模块定义的模型的行为: 向模型添加字段 覆盖模型字段的定义 给模型添加约束 给模型添加方法 重写模型的现有方法 第二种继承机制...在我们的示例“models/inherited_model.py”。

2.2K20

如何在 Ububtu 18.04 上安装 Odoo 13

在虚拟环境安装 Odoo,或者部署一个 Docker 容器,允许你对系统的设置有更多的控制,并且可以在同一个系统上运行多个 Odoo 软件版本。...,命名为odoo13,用户目录/opt/odoo13: sudo useradd -m -d /opt/odoo13 -U -r -s /bin/bash odoo13 你可以将这个名字设置成任何你想要设置的名字...mkdir /opt/odoo13/odoo-custom-addons 稍后,我们将会将该目录添加到addons_path参数。这个参数定义了 Odoo 用来搜索模块的一个列表。...十一、总结 这篇指南带你浏览了如何在 Ubuntu 18.04 上的 Python 虚拟环境 安装 Odoo 13,并使用 Nginx 作为反向代理服务器。...我们展示了如何在生产环境如何启用多进程以及优化 Odoo

8.7K41

在Ubuntu 16.04上安装Odoo 11堆栈

主机名分配 为了简化Linode之间的通信,请每个服务器设置主机名。如果所有Linode位于同一数据中心,则可以使用专用IP,如果可以的话,也可以使用完全限定域名(FQDN)。...db_port:Odoo使用PostgreSQL的默认端口5432,只有在使用自定义PostgreSQL设置时才更改此设置。 db_user:PostgreSQL数据库用户的名称。...模块 将生产数据库恢复,传输或同步到测试服务器后,可以更新Odoo模块。...从您的Linode下载源代码的新代码: cd /opt/odoo \ && sudo git fetch origin 11.0 将更改应用于存储库: sudo git reset --hard...Odoo用户文档 Odoo开发人员文档 PostgreSQL 9.6文档 使用LetsEncrypt安装SSL证书 如何设置tinc,一个点对点V** 使用Terraform提供Linode环境

8.9K30

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

约束(Constraints) 上一章介绍了向模型添加一些业务逻辑的能力。我们现在可以将按钮链接到业务代码,但如何防止用户输入错误的数据?...例如,在我们的房地产模块,没有什么可以阻止用户设置负预期价格。 odoo提供了两种设置自动验证恒定式的方法:Python约束 and SQL约束。...'estate_property_offer_check_price' as CHECK(price > 0) 例如,如果某些报价的价格零,则无法应用约束。...然而,可能需要进行更复杂的检查,这需要Python代码。在这种情况下,我们需要一个Python约束。 Python约束定义用 constrains()修饰的方法,并在记录集上调用。...如果不满足该方法的恒定式,则该方法将引发异常: from odoo.exceptions import ValidationError ...

1.5K20

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

在我们的estate模块,我们需要以逻辑方式组织字段: 在列表(树)视图中,我们希望显示的不仅仅是名称。 在表单视图中,应该对字段进行分组。 在搜索视图中,我们必须能够搜索的不仅仅是名称。...last_seen"/> 练习 -- 添加一个自定义列表视图 在合适的XML文件estate.property model定义一个列表视图。...练习 -- 添加自定义表单视图 在合适的XML文件estate.property 定义视图 为了避免每次修改视图时都重新启动服务器,可以在启动服务器时添加--dev-xml,以便只刷新页面就可以查看视图修改...在odoo,domain对记录上的条件进行编码:domain是用于选择模型记录子集的条件列表。每个条件都是一个包含字段名、运算符和值的三元组。...如果指定字段满足作用于值的运算符的条件,则记录满足条件

3.2K40

odoo form表单视图添加chatter功能

odoo14\custom\estate\models\estate_property.py 需要继承mail.thread模型,并为需要追踪的字段设置tracking属性,并设置属性值真值 #!...) # ...此处代码略 说明: mail.thread 模型,该模型类型models.AbstractModel,其定义文件 odoo14\odoo\addons\mail\...models\mail_thread.py,其字段命名均以message_开头 tracking 该属性True或数字时,打开针对该属性所属字段的修改日志--当所属字段内容发生变化时,系统会将该字段变化前后的值写入日志...__manifest__.py 配置 odoo14\custom\estate\__manifest__.py 需要配置mail模块依赖,因为mail.thread模型归属该模块 #!...,定义在文件 odoo14\odoo\addons\mail\models\mail_activity.py,其字段命名均以activity_,对应的,模型定义_inherit 属性也需要添加该模块

74120

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

在上一篇教程我们提到过,在对模型进行改动之后,需要对模块进行升级才能看到变更后的样子,除了从应用列表中找到模块进行升级外,我们还可以在命令行Odoo 的启动命令加上参数 -u todo 指定升级...那将这个需求转化成代码应该怎么做呢?...这个需求跟时间有关,并且时间是流动(一直在变化)的,所以我们应该要有一个方法在用户每次打开待办事项之前,把这个结果计算好,并且反馈给用户,还好 Odoo 的 ORM 已经我们实现了相关的机制——计算字段...PS: 这里我们对 deadline 进行了判断,是因为如果没有设置截止时间,又或者是在新建代办事项时,这里的 deadline 会是一个布尔值,是不能和时间字符串进行比较的。...这篇教程代码同样会更新在我的 GitHub 仓库

1.3K10
领券