odoo中使用domain基础操作

Odoo中的domain是一个用于筛选记录的条件列表,它通常用于搜索、过滤和定义视图中可见记录的规则。Domain由一系列的元组组成,每个元组定义了一个筛选条件。这些条件可以是简单的字段比较,也可以是更复杂的逻辑组合。

基本语法

Domain的基础语法格式为:[('字段名', '操作符', 值)]

  • 字段名:要筛选的模型字段。
  • 操作符:比较操作符,如 ‘=’, ‘!=’, ‘>’, ‘<’, ‘>=’, ‘<=’, ‘like’, ‘ilike’, ‘in’, ‘not in’, ‘child_of’, 等。
  • :与字段比较的值。

操作符说明

  • =:等于。
  • !=:不等于。
  • >:大于。
  • <:小于。
  • >=:大于等于。
  • <=:小于等于。
  • like:模糊匹配,区分大小写。
  • ilike:模糊匹配,不区分大小写。
  • in:在某个列表中。
  • not in:不在某个列表中。
  • child_of:用于对具有层次结构的模型进行筛选。

组合条件

Domain可以使用&(逻辑与)、|(逻辑或)和!(逻辑非)操作符来组合条件。如果不明确指定,条件之间默认为逻辑与关系。

实例代码

假设我们有一个模型res.partner,并希望找到所有在北京的公司,且名称中包含"科技"的合作伙伴。下面是如何使用domain来实现这一点的示例:

partners = self.env['res.partner'].search([('city', '=', '北京'),          # 城市为北京('name', 'ilike', '科技'),       # 名称中包含科技('is_company', '=', True)       # 是公司
])

如果我们想要搜索名称中不包含"科技",并且不在北京或上海的合作伙伴,可以这样写:

partners = self.env['res.partner'].search([('name', 'not ilike', '科技'),           # 名称中不包含科技'|',                                    # 逻辑或('city', '!=', '北京'),                 # 城市不是北京('city', '!=', '上海'),                 # 城市不是上海
])

使用逻辑运算符

对于更复杂的逻辑,可以通过组合使用&|!来构建。例如,寻找名字中包含"科技",位于"北京"或"上海"的合作伙伴:

partners = self.env['res.partner'].search([('name', 'ilike', '科技'),'|',                                 # 逻辑或('city', '=', '北京'),('city', '=', '上海'),
])

在复杂的逻辑中,需要注意&|操作符的使用顺序和组合,可能需要使用括号来确保逻辑的正确执行顺序。

Domain的这种灵活性和强大功能使得它在Odoo开发中非常重要,可以有效地帮助开发者进行记录的搜索和筛选。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/743627.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

模拟无人驾驶汽

下面是一个简单的Python代码示例&#xff0c;用于模拟无人驾驶汽车的自动驾驶功能。 import timeclass Car:def __init__(self):self.speed 0self.heading 0def drive(self):while True:self.update_sensors()self.process_sensors()self.control_car()self.update_car()tim…

CentOS搭建NAS服务器并使用

CentOS搭建NAS服务器并使用 文章目录 前言一、配置NAS服务器安装 NFS 服务&#xff1a;启动 NFS 服务&#xff1a;使 NFS 服务在系统启动时自动启动&#xff1a; 二、挂载服务器三、常见错误以及解决方案1、mount.nfs: No route to host2、mount.nfs: access denied by server …

vue3之组合式函数

抽取成一个组合式函数&#xff1a; // fetch.js //接收响应式状态 import { ref, watchEffect, toValue } from vue //一个封装的异步请求 import { fetch } from ../XX export function useFetch(url) {const data ref(null)const error ref(null)const fetchData () >…

OpenCV的常用数据类型

OpenCV涉及的常用数据类型除包含C的基本数据类型,如&#xff1a;char、uchar&#xff0c;int、unsigned int,short 、long、float、double等数据类型外, 还包含Vec&#xff0c;Point、Scalar、Size、Rect、RotatedRect、Mat等类。C中的基本数据类型不需再做说明下面重点介绍一下…

打包 加載AB包 webGl TextMeshPro 變紫色的原因

1.打包 加載AB包 webGl TextMeshPro 變紫色的原因 編輯器命令行https://docs.unity3d.com/cn/2019.4/Manual/CommandLineArguments.html 1.UnityHub 切換命令行參數 -force-gles 2.-force-gles&#xff08;仅限 Windows&#xff09;| 使 Editor 使用 OpenGL for Embedded Sys…

揭秘WMM:wifi中的QOS

更多内容在 WiFi WMM&#xff08;无线多媒体&#xff09;是一种用于无线局域网&#xff08;WLAN&#xff09;的QoS&#xff08;服务质量&#xff09;标准。WMM旨在提供更好的网络性能&#xff0c;特别是在传输多媒体内容&#xff08;如音频和视频&#xff09;时。它通过对不同类…

42.坑王驾到第八期:uniCloud报错

uniCloud 报错 今天调用云函数来调试小程序的时候突然暴了一个奇葩错误&#xff0c;require(…).main is not a function。翻官方文档后发现&#xff0c;原来是这样&#xff1a;**如果你写的是云对象&#xff0c;入口文件应为 index.obj.js&#xff0c;如果你写的是云函数入口…

python学习2:日志记录的用法

一些日志记录的简单记录&#xff1a; 用basicConfig可以进行配置 注意日志的等级&#xff1a; 上述代码得到的日志如下&#xff08;最基础的日志&#xff09;&#xff1a; 关于记录下来的日志格式可以有很多内容&#xff1a;如等级、发生的时间、发生的位置、发生的进程、…

WinRAR功能之【加密文件名】

很多人知道&#xff0c;WinRAR解压缩软件可以给压缩包设置密码&#xff0c;这样就可以保护压缩包里的文件&#xff0c;不被随意打开。 设置密码后&#xff0c;双击压缩包还是可以打开的&#xff0c;但要打开里面的文件时&#xff0c;就需要输入原本设置的密码才能打开。 虽然…

蓝桥杯-Python组(一)

1. 冒泡排序 算法步骤&#xff1a; 比较相邻元素&#xff0c;如果第一个大于第二个则交换从左往右遍历一遍&#xff0c;重复第一步&#xff0c;可以保证最大的元素在最后面重复上述操作&#xff0c;可以得到第二大、第三大、… n int(input()) a list(map(int, input()…

三、NLP中的句子关系判断

句子关系判断是指判断句子是否相似&#xff0c;是否包含&#xff0c;是否是问答关系等&#xff0c;常应用在文本去重、检索&#xff08;用户输入和文档的相关性&#xff09;、推荐&#xff08;和用户喜好文章是否相似&#xff09;等场景中。 3.0、文本相似度计算 3.0.0 传统机…

Vivado原语模板

1.原语的概念 原语是一种元件! FPGA原语是芯片制造商已经定义好的基本电路元件,是一系列组成逻辑电路的基本单元,FPGA开发者编写逻辑代码时可以调用原语进行底层构建。 2.原语的分类 原语可分为预定义原语和用户自定义原语。预定义原语为如and/or等门级原语不需要例化,可以…

【AIGC调研系列】AIGC企业级模型Command-R介绍

Command-R与其他大语言模型的主要区别在于其专为企业级应用设计&#xff0c;特别是在检索增强生成&#xff08;RAG&#xff09;和工具使用方面。Command-R是一个350亿参数的高性能生成模型&#xff0c;具有开放式权重&#xff0c;能够支持多种用例&#xff0c;包括推理、摘要和…

用C语言链表实现图书管理

#include <stdio.h> #include <stdlib.h> #include <string.h> struct ListNode {int val;//编号char title[50];//书名float price;//价格struct ListNode* next; };// 在尾部插入节点 struct ListNode* insertAtTail(struct ListNode* head, int val,char …

Elastic script_score的使用

script_score介绍 在Elasticsearch中&#xff0c;script_score是在function_score查询中的一种功能强大的方式&#xff0c;允许用户使用内置Painless脚本语言或者其他支持的语言来动态计算每个文档的评分 script_score语法 GET /<索引名>/_search {"query":…

一文了解什么是函数柯里化

前言 柯里化(Currying)和反柯里化(Uncurrying)在JavaScript中总感觉属于一种不温不火的存在&#xff0c;甚至有些开发者在提起柯里化和反柯里化时&#xff0c;竟然会有点生疏不懂。其实不然&#xff0c;对于它们的概念可能在日常开发中不太提到&#xff0c;但是它们的思想和用…

计算机网络-认识设备

一、概述 前面我们其实已经讲了一些关于设备的知识了&#xff0c;从现在开始进入下一阶段的理解。 网络基础设施由交换机、路由器、防火墙等构成,那我们的数据怎样从一个接口转发到另外一个接口最终实现网络访问的呢&#xff1f; 二、设备基础 2.1 网络设备硬件架构 我们分别以…

Axure原型设计项目效果 全国职业院校技能大赛物联网应用开发赛项项目原型设计题目

目录 前言 一、2022年任务书3效果图 二、2022年任务书5效果图 三、2022年国赛正式赛卷 四、2023年国赛第一套样题 五、2023年国赛第二套样题 六、2023年国赛第三套样题 七、2023年国赛第四套样题 八、2023年国赛第七套样题 九、2023年国赛正式赛题&#xff08;第八套…

SSA-LSTM多输入回归预测 | 樽海鞘优化算法-长短期神经网络 | Matlab

目录 一、程序及算法内容介绍&#xff1a; 基本内容&#xff1a; 亮点与优势&#xff1a; 二、实际运行效果&#xff1a; 三、算法介绍&#xff1a; 四、完整程序下载&#xff1a; 一、程序及算法内容介绍&#xff1a; 基本内容&#xff1a; 本代码基于Matlab平台编译&am…

智慧路灯杆如何提升智慧城市文旅形象

今年以来&#xff0c;全国多地城市凭借本地独特物产、独特旅游环境等亮点火爆出圈&#xff0c;为城市带来显著经济增长和形象提升。文旅经济作为高附加值产业&#xff0c;具有高收益、高潜力等特点&#xff0c;还有助于推动城市经济转型和可持续发展。 推动城市文旅经济发展&am…