转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826214.html

一:增

1:create():返回新创建的记录对象

  1. self.create({'name': "New Name"})

二:查

1:search() :返回数据集

接收domain表达式参数,返回符合条件的数据集,可以通过limit,offset参数限定查询条数,还可通过order参数根据某字段值对数据集排序。

  1. self.search([('is_company', '=', True), ('customer', '=', True)])

2:search_count():返回整数

统计满足条件的数据数量。

3:browse() :返回数据集

根据数据的id或者一组id来查找,返回符合条件的数据集。

  1. self.browse([7, 18, 12])

4:exists() :用于检查数据集是否为空

  1. if not record.exists():
  2. raise Exception("The record has been deleted")

5:ref() :根据外部ID,返回数据记录(odoo中一切皆记录,因此只要知道外部id,都可以取到)

运行环境函数,根据提供的外部id返回对应的数据记录。

  1. python代码中根据外部id取记录:
  2. env.ref('base.group_public')
  3.  
  4. xml中根据外部id取记录:
  5. <field name="xx" ref="外部id"/>

6:ensure_one() 检验某数据集是否只包含单条数据,如果不是则报错

  1. records.ensure_one()

三:改

1:write() :对指定数据集的所有记录进行修改,没有返回值

  1. self.write({'name': "Newer Name"})

四:删

1:unlink() :删除调用该方法对记录对象。

  1. self.env['模型'].search([(条件)]).unlink()

Odoo中的ORM API(模型数据增删改查)的更多相关文章

  1. 一个在ASP.NET中利用服务器控件GridView实现数据增删改查的例子

    备注:这是我辅导的一个项目开发组的一个例子,用文章的方式分享出来,给更多的朋友参考.其实我们这几年的项目中,都不怎么使用服务器控件的形式了,而是更多的采用MVC这种开发模式.但是,如果项目的历史背景是 ...

  2. C#在winform中操作数据库,实现数据增删改查

    1.前言: 运行环境:VS2013+SQL2008+Windows10 程序界面预览: 使用的主要控件:dataGridview和menuStrip等. 2.功能具体介绍: 1.首先,我们要先实现基本 ...

  3. Android(java)学习笔记193:利用谷歌API对数据库增删改查(推荐使用)

    接下来我们通过项目案例来介绍:这个利用谷歌API对数据库增删改查 1.首先项目图: 2.这里的布局文件activity_main.xml: <LinearLayout xmlns:android ...

  4. 前端使用AngularJS的$resource,后端ASP.NET Web API,实现增删改查

    AngularJS中的$resource服务相比$http服务更适合与RESTful服务进行交互.本篇后端使用ASP.NET Web API, 前端使用$resource,实现增删改查. 本系列包括: ...

  5. 使用HttpClient对ASP.NET Web API服务实现增删改查

    本篇体验使用HttpClient对ASP.NET Web API服务实现增删改查. 创建ASP.NET Web API项目 新建项目,选择"ASP.NET MVC 4 Web应用程序&quo ...

  6. Android(java)学习笔记136:利用谷歌API对数据库增删改查(推荐使用)

    接下来我们通过项目案例来介绍:这个利用谷歌API对数据库增删改查 1. 首先项目图: 2. 这里的布局文件activity_main.xml: <LinearLayout xmlns:andro ...

  7. 后盾网lavarel视频项目---lavarel使用模型进行增删改查操作

    后盾网lavarel视频项目---lavarel使用模型进行增删改查操作 一.总结 一句话总结: 使用模型操作常用方法 查一条:$model=Tag::find($id); 删一条:Tag::dest ...

  8. 完成在本机远程连接HBase进行数据增删改查

    1.进行hbase与本机远程连接测试连接 1.1 修改虚拟机文件hbase-site.xml(cd/usr/local/hbase/conf)文件,把localhost换成你的虚拟机主机名字 1.2修 ...

  9. salesforce 零基础开发入门学习(六)简单的数据增删改查页面的构建

    VisualForce封装了很多的标签用来进行页面设计,本篇主要讲述简单的页面增删改查.使用的内容和设计到前台页面使用的标签相对简单,如果需要深入了解VF相关知识以及标签, 可以通过以下链接查看或下载 ...

随机推荐

  1. 触发bfc解决父子元素嵌套垂直方向margin塌陷问题

    首先看一下问题案例 .wrapper{             width: 100px;             height: 100px;             background-colo ...

  2. LEDE安装zerotier 无法启动解决方法

    进入命令行模式,vi /etc/config/zerotier文件,把option enabled '0'的0改为1.

  3. 关于深度学习框架 TensorFlow、Theano 和 Keras

    [TensorFlow] ——( https://morvanzhou.github.io/tutorials/machine-learning/tensorflow/) 1.TensorFlow是啥 ...

  4. BitSet源码

    public class BitSet1 implements Cloneable, java.io.Serializable { // >>>左边补0, << 右边补0 ...

  5. phpcms新建模板页教程

    phpcms新建模板页教程1 直接去template文件夹里的复制的模板页 比方说list1.html2 去后台 界面模板风格 default 默认模板 点击详情列表 找到list1.htm 设置中文 ...

  6. 第一周 coursera.org

    机器学习:定义一.给予计算机能自我学习的能力而不是编程.定义二.对于某类任务T和性能度量P,如果一个计算机程序在T上以P衡量的性能随着经验E而自我完善,那么我们称这个计算机程序在从经验E学习 监督学习 ...

  7. redux本来是同步的为什么它能执行异步代码(chunk)实现原理是什么 中间件的实现原理是什么

    我们用redux执行同步的时候,都是先发起一个dispatch(actionCreator()) 1.先在actionCreator()中生成一个action对象. 2.由dispatch方法将act ...

  8. C# Convert.ChangeType()

    Convert.ChangeType() 将未知类型转换为已知类型 ; object result = Convert.ChangeType(content, typeof(int)); 其他常用的转 ...

  9. Effective.Java第78-90条(同步相关)

    78.  同步访问共享的可变数据 为了在线程之间进行可靠的通信,也为了互斥访问,同步是必要的. 不共享可变的数据.要么共享不可变的数据,要么压根不共享.换句话说,将可变数据限制在单线程中. 当多个线程 ...

  10. c++中如何判断sqlite表是否存在

    在项目中遇到需要判断sqlite数据库中某个表是否存在,上网搜索一些资料后,解决了问题,如下: 首先,在每个sqlite数据库中,都有一个名为sqlite_master的表,它定义了数据库的模式,它的 ...