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

如何在Odoo 9的表单视图中使用条件?

在Odoo 9的表单视图中使用条件,可以通过在字段定义中使用attrs属性来实现。attrs属性允许您根据特定条件来动态设置字段的属性,例如可见性、只读性和必填性。

以下是在Odoo 9的表单视图中使用条件的步骤:

  1. 打开您想要应用条件的表单视图的XML文件。
  2. 在字段定义中,添加attrs属性,并设置条件和相应的属性。例如,如果您希望在某个字段的值为特定值时将其设置为只读,可以使用以下代码:
代码语言:txt
复制
<field name="field_name" attrs="{'readonly': [('field_name', '=', 'specific_value')]}"/>

在上述代码中,field_name是您要应用条件的字段的名称,specific_value是您希望字段具有的特定值。

  1. 您还可以使用其他条件运算符,例如!=(不等于)、>(大于)、<(小于)等。例如,如果您希望在某个字段的值不等于特定值时将其设置为只读,可以使用以下代码:
代码语言:txt
复制
<field name="field_name" attrs="{'readonly': [('field_name', '!=', 'specific_value')]}"/>
  1. 您还可以使用多个条件来设置多个属性。例如,如果您希望在某个字段的值为特定值且另一个字段的值大于特定值时将其设置为只读,可以使用以下代码:
代码语言:txt
复制
<field name="field_name" attrs="{'readonly': [('field_name', '=', 'specific_value'), ('other_field_name', '>', 'specific_value')]}"/>

在上述代码中,other_field_name是另一个字段的名称。

通过使用attrs属性,您可以根据特定条件在Odoo 9的表单视图中动态设置字段的属性。这样,您可以根据需要自定义表单的行为和外观。

对于更多关于Odoo 9的信息和相关产品,您可以访问腾讯云的Odoo产品页面:Odoo产品介绍

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

相关·内容

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

在上一章已经看到,odoo能够为给定模型生成默认视图。实际上,默认视图对于业务应用程序来说是不可接受。相反,我们至少应该以逻辑方式组织各个字段。 视图是在带有操作和菜单XML文件定义。...它们是ir.ui.view model实例。 在我们estate模块,我们需要以逻辑方式组织字段: 在列表(树)视图中,我们希望显示不仅仅是名称。 在表单视图中,应该对字段进行分组。...练习 -- 添加自定义表单视图 在合适XML文件为estate.property 定义视图 为了避免每次修改视图时都重新启动服务器,可以在启动服务器时添加--dev-xml,以便只刷新页面就可以查看视图修改...搜索视图与列表及表单视图略有不同,因为它们不显示内容。尽管它们适用于特定模型,但它们用于过滤其他视图内容(通常是聚合视图,比如列表). 除了在使用方面的不同,他们定义方式是一样。...在odoo,domain对记录上条件进行编码:domain是用于选择模型记录子集条件列表。每个条件都是一个包含字段名、运算符和值三元组。

3.2K40

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

表单视图也是如此:尽管使用了一些标记,或,但在设计方面几乎没有什么可做。 然而,如果我们想给我们应用程序一个独特外观,就必须更进一步,能够设计新视图。...Odoo自带内置引擎:QWeb模板。QWeb是Odoo使用主要模板引擎。它是一个XML模板引擎,主要用于生成HTML片段和页面。 你可能已经在Odoo见过 看板,其中记录以卡片状结构显示。...目标: 本节结束时创建一个房产看板视图 在我们地产应用程序,我们希望添加一个看板视图来显示我们房产。看板视图是标准Odoo视图(如表单和列表视图),但其结构更灵活。...事实上,每张卡片结构是表单元素(包括基本HTML)和QWeb混合。看板视图定义与列表视图表单视图定义相似,只是它们根元素是kanban。...如果我们想有条件展示元素,可以使用 t-if指令(查看 Conditionals).

2K20

odoo 通过Javascript显示或隐藏form自带按钮

实践环境 Odoo 14.0-20221212 (Community Edition) 需求描述 如下,根据条件对form视图自带按钮显示、隐藏进行控制 代码实现 隐藏、显示编辑和创建按钮为例 odoo14...function (require) { 'use strict'; let modelConfigs = { 'estate.property': { // form表单视图归属模型...,即需要对按钮显示做管控模型名称 /* hideEditButton hideCreateButton值可以简单理解为eval函数参数,形如 eval(arg),整个表达式计算结果为...} } return res; } }); }) 说明: 如果需要隐藏其它自带按钮、或自定义按钮,可以通过查看form视图...根据实际需求,可以通过在js打印this对象,以获取更多判断是否隐藏、显示按钮有用信息。

1.7K50

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

添加字段到表单视图,正如本章目标展示那样 对于关系型字段,可以使用通过字段路径作为依赖项: description = fields.Char(compute="_compute_description...该字段被定义为最高报价 添加该字段到表单视图,正如本章目标第一个动画 提示:你可能会想用 mapped() 方法,查看示例 writeoff_amount = sum...提示: create_date 仅在记录创建时被填充,因此需要一个回退,防止创建时奔溃 在表单和列表视图中添加字段,正如本章目标显示第二个动画中一样。...同时,需要注意是,不要循环遍历 self,因为该方法在表单视图中触发,self总是代表单条记录。...始终首选computed field,因为它们也是在表单视图上下文之外触发。永远不要使用onchange将业务逻辑添加到模型

3.1K30

odoo Actions学习总结

所有Action都有两个强制属性: type 当前Action类别,决定可以使用哪些字段以及如何解释action name action名称,在客户端界面显示对action简短用户可读描述...binding_view_types 以逗号分隔视图类型列表,即Action需要显示上下文菜单所在视图,主要是“列表”和“表单”。...默认值为“Unnamed”,注意:如果name值为空字符串,则默认为 Unnamed 例如,要使用列表和表单视图打开客户(设置了customer标志partner): { "type": "ir.actions.act_window..."views": [[False, "tree"], [False, "form"]], "domain": [["customer", "=", true]], } 或者在新对话框打开特定产品表单视图...每个未填充类型,追加(False,type) 应用实践举例 在estate模块estate.property模型表单视图中,为Action添加菜单"选取offers",如下: !

2.6K30

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

例如,在我们房地产场景,我们希望在常规用户视图中直接显示销售人员财产列表。...Python 3, super() 等价于 super(TestModel, self)。当你需要使用一条被修改后结果集调用父方法时,可能需要使用后者。...odoo,第一种机制最常用。在我们例子,我们希望向现有模型添加一个字段,这意味着我们将使用第一种机制。...目标: 在用户表单视图中显示与销售人员关联avaliable房产列表其用户表单视图 Odoo提供了视图继承,其中子“扩展”视图应用于根视图之上,而不是就地修改现有视图(通过重写它们)。...这些扩展既可以添加内容,也可以从父视图中删除内容。 扩展视图使用inherit_id字段引用其父视图

2.2K20

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

模型之间关系(Relations Between Models) 上一章介绍了为包含基本字段模型创建自定义视图。然而,在任何真实业务场景,我们都需要不止一个模型。此外,模型之间链接是必要。...提示: 视图中,使用 widget="many2many_tags"属性正如这里展示一样。...然而,在本例,我们希望显示给定地产报价列表,因此我们将使用one2many概念。 one2many是many2one反向实现。...price,partner_id,status字段创建列表和表单视图 ,不必创建动作和菜单 添加offer_ids字段到estate.property 模型极其表单视图 这里有几件重要事情需要注意...odoo如何知道我们报价与哪个房产相关?这就是使用odoo框架一部分魔力:有时候事情是隐式定义

4.4K40

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

实践环境 Odoo 14.0-20221212 (Community Edition) 代码实现 模块文件组织结构 说明:为了更好表达本文主题,一些和主题无关文件、代码已略去 odoo14\custom...;limit 设置列表视图每页最大显示记录数 菜单定义 odoo14\custom\estate\views\estate_menus.xml <?...,想复用上述js,需要替换js以下内容: 修改estate.upload.customer.mixin为其它自定义全局唯一值 替换o_estate_customer_upload为在对应按钮视图模板定义对应...class属性值 替换estate.CustomerHiddenUploadForm为在对应按钮视图模板定义隐藏表单模版名称 替换EstateCustomerListView.buttons为对应按钮视图模板定义按钮模版名称...提示不符合shema,因为未使用元素进行“包裹” 'static/src/xml/estate_customer_tree_view_buttons.xml', ]

3.4K30

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

取决于字段属性,添加一个默认公司domain class odoo.fields.One2many[源代码] One2many字段值为 comodel_name中所有满足条件记录结果集,而目标模型...取决于字段属性,添加一个默认公司条件 limit (int) – 读取时用可选限制 注意:odoo不会在当前模型对应表为One2many,Many2many类型属性建立对应表字段,但会为Many2one...在出现字段表单视图中,当修改某个给定字段时,将调用该方法。在包含表单存在伪记录上调用该方法。该记录上字段赋值将自动返回客户端。...使用[]表示匹配所有 fields (list) – 对象上指定列表视图中存在字段列表。...如果未提供或者为[]则表示所有 Model.fields_view_get([view_id | view_type='form'])[源代码] 获取所请求视图详细组成,字段、模型、视图架构

13.3K10

odoo 为form表单视图添加chatter功能

实践环境 Odoo 14.0-20221212 (Community Edition) 需求描述 如图,给表单新增一个类似聊天窗口,当记录一些表单活动(本例为自动记录当前记录状态变化) 需求实现 模型定义...odoo14\custom\estate\models\estate_property.py 需要继承mail.thread模型,并为需要追踪字段设置tracking属性,并设置属性值为真值 #!...-当所属字段内容发生变化时,系统会将该字段变化前后值写入日志,这个数字大小影响变更日志在日志排序。...# -*- coding:utf-8 -*- { 'name': 'estate', 'depends': ['base', 'mail'], # 此处代码略... } 视图定义...\odoo\addons\mail\models\mail_activity.py,其字段命名均以activity_,对应,模型定义_inherit 属性也需要添加该模块,如下: _inherity

70120

何在 CentOS 8 上安装 Odoo 13

这个指南讲解了如何在 CentOS 8 上一个 Python 虚拟机环境从源码安装 Odoo 13。我们将会从 Github 上编译 Odoo 源码并且配置 Nginx 作为反向代理服务器。...确保你满足下面的前提条件,再继续下一步安装配置: 一个指向你服务器公网 IP 域名,我们使用example.com。 安装 Nginx 域名 SSL 证书。...30 users / 6 = **5**(5 是所需要理论工作进程数量) (4 * 2) + 1 = **9**(9 是理论最大工作进程数量) 基于上面的计算,你可以使用 5 个进程+1 个进程(Cron...十二、总结 这篇指南带你浏览了如何在 CentOS 8 上 Python 虚拟环境 安装 Odoo 13,并使用 Nginx 作为反向代理服务器。...我们展示了如何在生产环境如何启用多进程以及优化 Odoo

3.9K20

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

实践环境 Odoo 14.0-20221212 (Community Edition) 需求描述 如下图(非实际项目界面截图,仅用于介绍本文主题),打开记录详情页(form视图),点击某个按钮(图中"...选取ffers"按钮),弹出一个向导(wizard)界面,并将详情页内联tree视图("Offers" Tab页)列表记录展示到向导界面,且要支持复选框,用于选取目标记录,然执行目标操作。...action_select_records_via_checkbox函数接收args参数,其类型为字典,形如以下,其中f412cde5-1e5b-408c-8fc0-1841b9f9e4de为UUID...,供web端使用,用于区分不同页面操作数据,'estate.property.offer_3'为供web端使用记录ID,'data'键值代表记录数据,其id键值代表记录在数据库主键id,context...以上参数同下文saveSelectionsToSessionStorage 参数可同时共存 如果需要将action绑定到指定模型指定视图Action,可以在ir.actions.act_window定义添加

5.2K60

何在 Ububtu 18.04 上安装 Odoo 13

在这个指南中,我们将会在 Ubuntu 18.04 上一个 Python 虚拟环境安装和部署 Odoo 13.我们将会从它们 Github 软件源中下载 Odoo,并且使用 Nginx 作为反向代理服务器...确保你满足下面的前提条件,再继续下一步安装配置: 一个指向你服务器公网 IP 域名,我们使用example.com。 安装 Nginx 域名 SSL 证书。...30 users / 6 = **5**(5 是所需要理论工作进程数量) (4 * 2) + 1 = **9**(9 是理论最大工作进程数量) 基于上面的计算,你可以使用 5 个进程+1 个进程(Cron...十一、总结 这篇指南带你浏览了如何在 Ubuntu 18.04 上 Python 虚拟环境 安装 Odoo 13,并使用 Nginx 作为反向代理服务器。...我们展示了如何在生产环境如何启用多进程以及优化 Odoo

8.7K41

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

作者介绍:胡彬 腾讯云高级工程师 ODOO 前身是 OpenERP ,是一款开源 ERP 系统,使用 Python 开发,数据库采用 PostgreSQL ,系统以 LGPLv 3协议发布。...本文主要介绍如何在腾讯云环境下,通过简单步骤,快速搭建一个 ODOO 站点。...购买并创建云主机 登录云主机 1、下载并安装客户端软件 从本地linux机器登录到linux云服务器时,需要使用客户端软件建立连接。 建议使用OpenSSH发布ssh工具进行登录。...IP:在云服务器“管理视图”页面可查看云服务器公网IP 注意:CentOS系统默认管理员账号为root。...在pssword后输入密码,密码为管理员账号密码,回车后即完成登录。 注:管理员账号初始密码在上面购买过程设置过,用户也可以重置密码,详见管理员账号密码重置。

9.7K30

Odoo开发指北 01 初识Odoo

继承开发 Odoo提供了大量现成模块给我们使用,但是某些情况下,我们需要制定符合自己需求功能模块。Odoo开发一条黄金准则是——不要修改现有的模块,以免改动后代码与原有模块产生混淆。...然后使用自己模块:把自己模块路径设置到odoo,重启odoo让其搜索到自定义模块,即可通过odoo进行安装。...Odoo提供ORM接口匹配,也就是说这些模型类会自动存入sql。...static:静态资源文件,css、js等 views:网页视图文件与模版文件(xml文件,使用QWEB语言进行描述) init.py manifest.py:描述文件 脚手架命令   使用...构建菜单对象——在views文件夹下,使用xml定义菜单项。 构建动作对象,关联某个具体菜单项响应。 构建视图对象:主要是list、tree、form、search视图

2.3K30

odoo 权限管理学习总结

res_partner表,那么在odoo如何区分用户类型以及如何做权限控制呢?...(2, ID, values) 使用values字典值更新id值=ID现有记录 (2, ID) 删除id=ID这条记录(调用unlink方法,删除数据及整个主从数据链接关系) (3, ID) 删除主从数据链接关系但是不删除这个记录...可以简单理解为指定过滤条件,用户只能访问符合本过滤条件记录,配置为 [(1,'=',1)]则表示匹配所有记录。...如果当前用户不在列出,他将无权访问该字段: 将自动从请求视图中删除受限制字段 从fields_get()响应删除受限制字段 尝试(显式)读取或写入受限字段会导致访问错误 修改estate...注意:通过为当前视图中目标字段添加groups属性实现权限控制仅作用于当前视图,如果希望当前视图模型(Model)所有视图中,对该字段实现统一权限控制话,需要在模型定义,为目标字段添加groups

10K20

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

priority,并且指定了三个可供选择程度类型,一般情况下,如果一个字段只有固定几种可选值,通常都会选择使用 Selection 字段,它接受一个元组列表作为参数,其中元组组成为 (value...在上一篇教程我们提到过,在对模型进行改动之后,需要对模块进行升级才能看到变更后样子,除了从应用列表中找到模块进行升级外,我们还可以在命令行Odoo 启动命令加上参数 -u todo 指定升级.../mymodules --db-filter=^demo$ -d demo -u todo 升级后创建或打开任意一条待办事项进入到表单页面,就可以看到已经多了「紧急程度」这个字段了,并且默认选择了「待办...我们打开视图文件来加点东西上去: <!...这篇教程代码同样会更新在我 GitHub 仓库

1.3K10

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

当需要添加数据格式简单时,用CSV格式还是很方便,当数据格式更复杂时(比如视图架构或者一个邮件模板),我们使用XML格式。比如包含HTML tags help field。...这是因为,在odoo中加载CSV文件比加载XML文件更快。 odoo,用户接口(action,菜单和视图)大部分是通过创建和组装XML文件记录来定义。...view_mode 可获取视图。本例为列表(树)和表格视图odoo到处都可以找到例子,但是这个 简单action好例子。关注XML 数据文件结构,因为你在后续练习中会用到。 <?...服务,查看效果 字段,属性和视图(Fields, Attributes And View) 到目前为止,我们只对房产广告使用了通用视图,但在大多数情况下,我们希望对视图进行微调。...我们看到一些属性,required=True,会影响数据库表模式。其他属性也将影响视图或提供默认值。 练习 -- 添加一些属性到字段。

2.8K30
领券