Odoo字段设置索引-多列联合索引

2023-11-03

需求: 在创建模块生成数据库表结构时,一般也要设计字段是否需要添加索引,或者多个字段联合索引。

单字段添加索引

设置索引只需要在字段初始化时添加index参数,index (bool, default: False)
index默认是False,如果需要将字段添加索引设置为True即可

name = fields.Char(string='名称', index=True)
age = fields.Integer(string='年龄', index=True)

虽然nameage都添加了索引,但是都是单独索引,不是联合索引。

多字段联合索引

在数据查询时一般需要设置联合索引,那么odoo默认是没有此方法的,需要在init初始创建对应联合索引。代码如下:

@api.model
def init(self):
	# 查询索引名称是否存在
    self._cr.execute('''
        select indexname from pg_indexes where indexname = 'employee_name_age_idx'
    ''')
    # 不存在则设置索引
    if not self._cr.fetchone():
    	# 执行创建索引sql
        self._cr.execute('''
            create index employee_name_age_idx on employee (name, age)
        ''')

小结

合理的添加索引会大大增加系统及数据的访问速度和处理速度,在设计的时候尽量创建联合索引来覆盖大多数查询,这里就扩展讨论了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Odoo字段设置索引-多列联合索引 的相关文章

  • Pythonanywhere 安装并导入新模块

    我是 Pythonanywhere 的新手 想要安装 soundcloud Python 模块 我打开了 Bash 控制台并给出了pip install user soundcloud命令 它似乎已经安装 正如我使用时在模块列表中看到的那样
  • Tensorflow 导入错误:没有名为“tensorflow”的模块

    我在 Windows Python 3 5 Anaconda 环境中安装了 TensorFlow 验证成功 有警告 tensorflow C gt python Python 3 5 3 英特尔公司 默认 2017 年 4 月 27 日 1
  • 如何选择单选按钮?

    我在用mechanize我正在尝试从单选按钮列表中选择一个按钮 该列表有 5 项 如何选择第一项 文档没有帮助我 gt gt gt br form
  • 在 HSV 颜色空间内定义组织学图像掩模的颜色范围(Python、OpenCV、图像分析):

    为了根据颜色将组织学切片分成多个层 我修改了 OpenCV 社区提供的一些广泛分布的代码 1 我们的染色程序用不同的颜色标记组织横截面的不同细胞类型 B 细胞为红色 巨噬细胞为棕色 背景细胞核为蓝色 I m interested in se
  • OpenPyXL - 如何查询单元格边框?

    python 和 openpyxl 都是新的 编写一个 py 脚本来遍历大量 Excel 工作簿 工作表 并且需要找到由边框格式标识的某些单元格 我在网上看到几个关于如何设置单元格边框的示例 但我需要阅读它们 具体来说 当表内的数据不一致但
  • Django管理命令是在单独的进程中执行的吗?

    Django 有很多管理命令 此外 我们还可以编写自己的命令 进行 shell 调用后会发生什么python manage py XXX 代码是否会在从 shell 启动的进程中执行 或者 shell 进程只是与执行命令的主 Django
  • Python 中的自然日/相对日

    我想要一种在 Python 中显示日期项目的自然时间的方法 类似于 Twitter 将显示 刚才 几分钟前 两小时前 三天前 等消息 Django 1 0 在 django contrib 中有一个 人性化 方法 我没有使用 Django
  • 为什么 Python 中的无分支函数和内置函数速度较慢?

    我发现了 2 个无分支函数 它们可以在 python 中查找两个数字的最大值 并将它们与 if 语句和内置 max 函数进行比较 我认为无分支或内置函数将是最快的 但最快的是 if 语句函数 有人知道这是为什么吗 以下是功能 If 语句 2
  • time.sleep - TypeError:需要一个浮点[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 time sleep 2 TypeError a float is required 我该如何解决 我不确定我应该在这里做什么 您
  • 如何检查Docker中是否安装了python包?

    我使用Dockerfile成功构建了一个容器 但是 我的代码在容器中不起作用 如果我手动安装所有软件包 它确实有效 我假设我搞砸了一些导致 docker 没有正确安装软件包的事情 所以 我想检查Docker容器中是否安装了python包 最
  • python下安装xgboost 32位msys失败

    尝试安装 xgboost 失败 Windows 和企业版版本为 Anaconda 2 1 0 64 位 我该如何继续 我一直在使用 R 似乎从 RStudio 在 R 中安装新包相当容易 但在间谍程序中则不然 因为我需要进入命令窗口来执行此
  • 如何在 django admin 中使用自定义字段进行搜索

    我有一个模型并已注册到管理员 并且我已使用自定义字段在列表中显示 class ReportsAdmin admin ModelAdmin def investment self inst return models OrderDetail
  • Python 请求包含有值的参数和没有值的参数

    我正在为 API 编写一个 Python 包装器 该 API 支持具有值的查询参数 例如param1如下 和查询参数do not有价值观 例如param2如下 即 https example com service param1 value
  • 如何从张量流数据集迭代器返回同一批次两次?

    我正在转换一些旧代码以使用数据集 API 此代码使用feed dict将一批数据送入列车运行 实际上是三次 然后重新计算损失以供显示使用同一批 所以我需要一个迭代器来返回完全相同的批次两次 或多次 不幸的是 我似乎找不到一种使用张量流数据集
  • django 密码重置功能中出现 NoReverseMatch 错误

    我正在尝试在 django 中实现密码重置功能 下面是我的代码 urls py urlpatterns patterns url r signup accounts views signup name signup email url r
  • Python - 根据条件调用函数

    我想知道是否有一种简洁的方法来根据条件调用函数 我有这个 if list 1 some dataframe df myfunction 我想知道这是否有可能三元运算符 http book pythontips com en latest t
  • Mxnet - 缓慢的数组复制到 GPU

    我的问题 我应该如何在 mxnet 中执行快速矩阵乘法 我的具体问题 数组复制到 GPU 的速度很慢 对此我们能做些什么呢 我创建随机数组 将它们复制到上下文中 然后相乘 import mxnet as mx import mxnet nd
  • Django model.foreignKey 并返回 self.text 错误

    所以我正在 Django 中处理 model py 但遇到了 2 个 pylint 错误 我不明白为什么 这是 pylint 的问题还是我在代码中做错了什么 E1120 No value for argument on delete in
  • 在绘图中的线间隙之间添加注释

    I have a graph like this 而不是在上面的日子symbol 我想知道是否有办法可以在行之间添加此注释 从一个点到另一个点 如果以防万一 这可能是重复的 我深表歉意 This is my expected output
  • 检查一个数是否是完全平方数

    如何检查一个数是否是完全平方数 速度并不重要 目前 只是工作 See also Integer square root in python https stackoverflow com questions 15390807 依赖任何浮点计

随机推荐

  • 浏览器兼容性测试

    浏览器相关兼容性测试时的测试要点 测试Web页面在不同浏览器的界面是否一致 a 界面是否正常加载 b 界面的CSS样式是否显示完全 c 文字图片的统一性 d 排版是否整齐一致 e 数据是否正确 f 特效是否正常显示等 测试web页面在不同浏
  • 【网络教程】Iptables官方教程-学习笔记6-IPTABLES TARGETS

    一 IPTABLES TAGRETS 本章节介绍Iptables 的目标和跳转 targets and jumps 目标和跳转负责告诉规则如何处理与规则匹配部分完全匹配的包 ACCEPT 和 DROP 是一对基础目标 他们是首先处理的 在学
  • 【esp8266】史上最详细的Arduino uno R3接入机智云教程

    原文地址 http club gizwits com thread 6728 1 1 html 本文使用arduino UNO板卡和esp8266无线WIFI模块实现了通过手机APP远程监测单片机系统采集的数据和控制一个LED的亮灭 读者将
  • Python笔记-字符串

    print hello world capitalize 让第一个单词首字母大写 print hello world upper 全大写 print hello world lower 全小写 print hello world title
  • 联想计算机BIOS启动顺序boot,联想电脑BIOS启动项如何设置U盘启动_联想电脑BIOS启动项设置U盘启动教程介绍...

    联想电脑大家应该都不陌生 台式的大家也都有使用过 笔记本也都使用过 这个品牌的电脑性能都是非常不错的 也是很多用户家庭办公必备的 那么在长时间使用以后很多电脑系统就会出现崩溃 那么这个时候就需要进行系统重新安装 那么在安装的时候可以通过设置
  • java-一次运算结束后,是否继续? Y 是,其他键结束

    请输入第一个数 4 请输入第二个数 9 请输入运算符 运算结果是13 是否继续 Y 是 其他键结束 Y 请输入第一个数 7 请输入第二个数 0 请输入运算符 除数不能为零 请重新输入 思路 一次运算结束后 是否继续 Y 是 其他键结束 用d
  • Classic AUTOSAR专题

    往期小怿向各位小伙伴介绍了Classic AUTOSAR专题之I O模块 相信看过的小伙伴对Classic AUTOSAR的I O模块已经有基本的认知了 本期为大家介绍 AUTOSAR模块之诊断模块 内容超丰富 将分两期推出哦 目录 1 概
  • Android开源框架之Afinal

    Afinal是一个android的ioc orm框架 内置了四大模块功能 FinalAcitivity FinalBitmap FinalDb FinalHttp 通过finalActivity 我们可以通过注解的方式进行绑定ui和事件 通
  • 4个mos管驱动的全桥电路原理_逆变器工作原理

    逆变器工作原理 输入接口部分 输入部分有3个信号 12V直流输入VIN 工作使能电压ENB及Panel电流控制信号DIM VIN由Adapter提供 ENB电压由主板上的MCU提供 其值为0或3V 当ENB 0时 Inverter不工作 而
  • Node 中的 Buffer 的理解及应用场景

    一 是什么 在Node应用中 需要处理网络协议 操作数据库 处理图片 接收上传文件等 在网络流和文件的操作中 要处理大量二进制数据 而Buffer就是在内存中开辟一片区域 初次初始化为8KB 用来存放二进制数据 在上述操作中都会存在数据流动
  • Linux 操作系统的基本目录

    1 Linux 的基本目录 根目录 usr 系统存放程序的目录 home 普通用户默认存放的目录 bin 系统基础命令目录 boot 包含Linux内核及系统引导所需要的文件 dev 设备文件存储目录 etc 存放系统程序或工具配置文件目录
  • spring集成shiro详解

    最近项目中要用到shiro作为权限管理 以前都是用自定义的或者spring security 所以就开始看了一些网上的文章 但是感觉都写得很零散 而且大多数都只是给了几行代码 我们得项目相对比较复杂 需要进行一些额外得改造和扩展 所以自己也
  • 配置springboot踩到的坑

    1 卸载了eclipse 结果连带卸载了java JDK 因为没有意识到所以第一次编译报错 2 run configure不会写 最后网络上查到在run 里输入 spring boot run 普通的maven 工程 run里写 clean
  • ThinkPHP 2.x/3.0 漏洞复现

    ThinkPHP框架 ThinkPHP是一款从Struts结构移植过来进行改进和完善后的web应用的开源轻量级PHP框架 ThinkPHP可在 Windows和 Linux等操作系统运行 支持 MySql Sqlite和 PostgreSQ
  • 云服务器测速脚本_Linux VPS服务器带宽测速脚本:Speedtest Linux进行网络测速方法...

    新购买VPS服务器后 当然少不了对对VPS的性能做测试了 好让自己知道新购买到的VPS性能是怎么样的 下面就来为大家介绍一个Linux系统VPS带宽测速脚本Speedtest 和Linux VPS进行网络测试的方法 一 环境准备 我们使用的
  • Fibonacci 数列

    题目描述 输入一个正整数n 求 Fibonacci 数列的第n个数 Fibonacci 数列的特点 第1 2个数为1 1 从第3个数开始 概述是前面两个数之和 即 要求输入的正整数n不超过50 输入 一个不超过50的正整数 输出 Fibon
  • IntersectionObserver与无限滚动加载

    学习链接 IntersectionObserver MDN Api IntersectionObserver API详解 Intersection observer 的概念和用法 过去 要检测一个元素是否可见或者两个元素是否相交并不容易 比
  • 长连接、短连接与WebSocket 的区别

    1 长连接与短连接 1 短连接 HTTP1 0中默认使用短连接 也就是说 客户端和服务器每进行一次HTTP操作 就建立一次连接 任务结束就中断连接 HTTP的生命周期通过Request来界定 也就是说一个Request 一个Response
  • 网络请求库requests及数据解析xpath

    requests库 requests库也是一个网络请求库 基于urllib和urllib3封装的便捷使用的网络请求库 安装环境 pip install requests i https mirrors aliyun com pypi sim
  • Odoo字段设置索引-多列联合索引

    需求 在创建模块生成数据库表结构时 一般也要设计字段是否需要添加索引 或者多个字段联合索引 单字段添加索引 设置索引只需要在字段初始化时添加index参数 index bool default False index默认是False 如果需