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

如何根据Xml中的条件使字段不可见。Odoo 14

在Odoo 14中,可以通过在XML视图中使用条件表达式来控制字段的可见性。以下是一种实现方式:

  1. 首先,找到包含要控制可见性的字段的XML视图文件。
  2. 在该字段的<field>标签中,添加一个attrs属性,用于定义条件表达式。
  3. attrs属性中,使用XPath语法指定条件表达式。例如,如果要根据另一个字段的值来控制可见性,可以使用attrs="{'invisible': [('other_field', '=', False)]}"
    • invisible是一个特殊的属性,用于控制字段的可见性。当条件表达式为真时,字段将变为不可见。
    • other_field是要依赖的另一个字段的名称。
    • =是条件运算符,可以根据需要更改为其他运算符,如!=><等。
    • False是条件的比较值,可以根据需要更改为其他值。
  • 保存并重新加载Odoo模块,以使更改生效。

这样,当满足条件表达式时,字段将变为不可见。请注意,这只是一种实现方式,具体的实现方法可能因应用场景和需求的不同而有所变化。

以下是一个示例,演示如何根据另一个字段的值来控制字段的可见性:

代码语言:txt
复制
<record id="view_form_example" model="ir.ui.view">
    <field name="name">example.form</field>
    <field name="model">example.model</field>
    <field name="arch" type="xml">
        <form>
            <sheet>
                <group>
                    <field name="other_field"/>
                    <field name="dependent_field" attrs="{'invisible': [('other_field', '=', False)]}"/>
                </group>
            </sheet>
        </form>
    </field>
</record>

在上述示例中,dependent_field字段的可见性将根据other_field字段的值来动态控制。当other_field的值为False时,dependent_field将变为不可见。

对于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体的云计算品牌商,建议您参考腾讯云的官方文档和网站,以获取相关产品和服务的详细信息。

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

相关·内容

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

在上一章已经看到,odoo能够为给定模型生成默认视图。实际上,默认视图对于业务应用程序来说是不可接受。相反,我们至少应该以逻辑方式组织各个字段。 视图是在带有操作和菜单XML文件定义。...一个简单示例 修改odoo14/custom/estate/views/estate_property_views.xml <?xml version="1.0"?...在odoo,domain对记录上条件进行编码:domain是用于选择模型记录子集条件列表。每个条件都是一个包含字段名、运算符和值三元组。...如果指定字段满足作用于值运算符条件,则记录满足条件。...按"postcode"分组能力 修改odoo14/custom/estate/views/estate_property_views.xml <?xml version="1.0"?

3.2K40

odoo 开发入门教程系列-QWeb简史

Odoo自带内置引擎:QWeb模板。QWeb是Odoo使用主要模板引擎。它是一个XML模板引擎,主要用于生成HTML片段和页面。 你可能已经在Odoo见过 看板,其中记录以卡片状结构显示。...练习--制作一个最小看版视图 根据上述提供简单例子,为房产创建一个最小化看板视图。唯一展示字段为name....提示: 必须在ir.actions.act_window对应view_mode添加 kanban 修改odoo14\custom\estate\views\estate_property_views.xml...每个字段都有两个属性 value 和raw_value。前者是根据当前用户参数格式化,后者则是直接通过read()读取。...注意:best price仅在收到报价时展示,而selling price仅在接受报价时展示 修改odoo14\custom\estate\views\estate_property_views.xml

2K20

odoo 权限管理学习总结

res_partner表,那么在odoo如何区分用户类型以及如何做权限控制呢?...模型访问权限(Access Rights,表级别) 当模型没有定义任何访问权限时,odoo会认为没有任何用户可以访问数据,并在日志打印: 2022-12-14 09:01:38,994 32508...规则与组关联关系存在rule_group_rel表 global 根据“groups”计算,提供了对规则是否全局状态轻松访问。...可以简单理解为指定过滤条件,用户只能访问符合本过滤条件记录,配置为 [(1,'=',1)]则表示匹配所有记录。...如果当前用户不在列出,他将无权访问该字段: 将自动从请求视图中删除受限制字段 从fields_get()响应删除受限制字段 尝试(显式)读取或写入受限字段会导致访问错误 修改estate

10.1K20

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

在介绍特定Odoo模块继承之前,让我们看看如何更改标准CRUD(创建、检索,更新或删除)方法行为 Python继承(Python Inheritance) 目标: 不能删除状态不为New、Canceled...第一继承机制允许模块通过以下方式修改在另一个模块定义模型行为: 向模型添加字段 覆盖模型字段定义 给模型添加约束 给模型添加方法 重写模型现有方法 第二种继承机制...odoo,第一种机制最常用。在我们例子,我们希望向现有模型添加一个字段,这意味着我们将使用第一种机制。...如果匹配任何元素或者匹配多个元素,则抛出错误 position 应用于匹配元素操作: inside 将xpath主体附加到匹配元素末尾(个人理解,添加为匹配元素子元素) replace...> 新增odoo14\custom\estate\views\estate_res_users_views.xml <?

2.2K20

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

模型之间关系(Relations Between Models) 上一章介绍了为包含基本字段模型创建自定义视图。然而,在任何真实业务场景,我们都需要不止一个模型。此外,模型之间链接是必要。..._context 上下文字典 self.env.ref(xml_id) 返回和XML id对应记录 self.env[model_name] 返回给定模型实例 修改odoo14\custom\estate...") 修改odoo14\custom\estate\views\estate_property_views.xmlestate_property_view_form视图 <record id=...odoo如何知道我们报价与哪个房产相关?这就是使用odoo框架一部分魔力:有时候事情是隐式定义。...当我们通过one2many字段创建记录时,为了方便,会自动填充相应many2one 添加odoo14\custom\estate\models\estate_property_offer.py #!

4.4K40

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

然而,我们可能需要给定模型字段之间链接。有时,一个字段值是根据其他字段值确定,有时我们希望帮助用户输入数据。...自然地我们将总面积定义这两者总和,我们将为此使用计算字段概念,即给定字段值将从其他字段值中计算出来。 到目前为止,字段已直接存储在数据库并直接从数据库检索。字段也可以被计算。...在这种情况下,不会从数据库检索字段值,而是通过调用模型方法来动态计算字段值。 要创建计算字段,请创建字段并将其属性compute设置为方法名称。...修改odoo14\custom\estate\models\estate_property_offer.py from odoo import models, fields 修改为 from odoo...> 重启服务,浏览器验证(参考本章目标第二个动画视图) 其它信息 默认,计算字段不会存到数据库,因此,不可能基于计算字段进行搜索,除非定义一个search 方法。

3.1K30

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

取决于字段属性,添加一个默认公司domain class odoo.fields.One2many[源代码] One2many字段值为 comodel_name中所有满足条件记录结果集,而目标模型...参数: comodel_name (str) – 目标模型名称 inverse_name (str) – 目标模型反向Many2one字段名称,根据字段反向查询记录 domain – 用于设置客户端候选值条件...取决于字段属性,添加一个默认公司条件 limit (int) – 读取时用可选限制 注意:odoo不会在当前模型对应表为One2many,Many2many类型属性建立对应字段,但会为Many2one...设置store=True 将在数据库存储计算及字段并启动开启字段搜索。 也可以通过设置search参数开启在计算字段搜索。该参数值为一个返回搜索条件方法名称 。...odoo.fields.Char类型 odoo.fields.active 切换记录全局可见性,如果active设置为False,则记录在大多数搜索和列表可见

13.3K10

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

odoo,用户接口(action,菜单和视图)大部分是通过创建和组装XML文件记录来定义。常见模式为 菜单> action > 视图。为了访问记录,用户在几个菜单级中导航。...view_mode 可获取视图。本例为列表(树)和表格视图。 odoo到处都可以找到例子,但是这个 简单action好例子。关注XML 数据文件结构,因为你在后续练习中会用到。 <?...在适当位置(本例odoo14/custom/estate/models/views)创建 estate_property_views.xml <?xml version="1.0"?...,直接从action获取,即为action属性值 练习 添加菜单 在合适目录(本例odoo14/custom/estate/models/views)创建 estate_menus.xml 文件...查找一些合适属性 (查看字段) 来: 设置售价为只读 阻止复制可用日期和售价 修改 odoo14\custom\estate\models\estate_property.py EstateProperty

2.9K30

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

最重要属性为 _name,该属性定义了model在odoo系统属性。...api, SUPERUSER_ID 练习 创建estate_property表最小化模型 在 odoo14/custom/estate/models/estate_property.py 定义model...有两大类领域字段:‘简单’字段--直接存储在模型表原子值,形如Boolean, Float, Char, Text, Date 和Selection, ‘关系型’ 字段--连接相同或者不同模型记录...有些属性是所有字段都拥有的,最常见几个属性如下: string (str, default: 字段名称) UI上显示为字段label (用户可见)....自动创建字段(Automatic Fields) 参考: 该话题相关文档可参考 Automatic fields. odoo会在所有model(当然,也可以配置禁止自动创建某些字段)创建少数字段

2.3K30

odoo 开发入门教程系列-安全-简介

安全-简介 前一章我们已经创建了第一个打算用于存储业务数据表。在odoo这样一个商业应用,第一个考虑问题就是谁(Odoo 用户(或者组用户))可以访问数据。...Data Files (CSV) Odoo是一个高度数据驱动系统。虽然通过Python代码定制行为,但是模块部分值在加载时设置数据。...country_id:id 通过使用外部标识指向国家. name 州名称 code 州代码 在 res.country.state model定义了这三个字段 按约定,导入数据文件存放在模块...此外,所有这些文件必须在 __manifest__.pydata 列表定义。 查看示例文件 # -*- coding: utf-8 -*- # Part of Odoo....当模型没有定义任何访问权限时,odoo会认为没有任何用户可以访问数据,并在日志打印: 2022-12-14 09:01:38,994 32508 WARNING odoo odoo.modules.loading

91520

Odoo 基于Win10搭建基于Win10搭建odoo14开发环境搭建

参考文档 "解决安装软件包提示Unable to find vcvarsall.bat问题.md" 安装odoo依赖 解压下载后odoo_14.0.latest.tar,并对解压结果目录dist目录下...安装结束时会提示安装Stack Builder,如果不需要,可以勾选,不安装。...测试运行 启动 复制上述odoo14\setup\odoo文件为odoo-bin(本质为一个py文件),并移动到setup同级目录下,即例odoo14目录下 虚拟运行环境下,输入以下命令后回车,可以看到类似如下输出...为手动创建配置文件,位于odoo14目录下,内容如下: [options] addons_path = odoo/addons db_name = odoo db_host = localhost db_user...(oodo14) D:\codePojects\odoo14>python odoo-bin -r myodoo -w test123 --addons-path=.

3.6K40

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

Odoo提供了一个开发票模块,因此直接从我们房地产模块创建发票是很简单,也就是说,一旦某个房产设置为“已售出”,就会在Invoicing应用程序创建发票 一个具体示例: 记账凭证(Account...新增以下文件: odoo14\custom\estate_account\models\__init__.py #!...不幸是,没有一种简单方法可以知道如何Odoo创建任何给定对象。大多数时候,有必要查看其模型,以找到所需字段并提供适当值。 学习一个好方法是看看其他模块是如何完成你想做事情。...为此在account.move创建中包含invoice_line_ids字段,这是一个One2many字段。One2many和Many2many使用通用ORM方法描述特殊“commands”。...每个售出房产都将按照以下条件开具发票: 售价6% 额外100.00行政费 提示:按照上面的示例在创建时添加invoice_line_ids。

1.6K10
领券