Odoo中的ORM API(模型数据增删改查)

时间:2023-03-08 15:39:07

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

一:增

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

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

二:查

1:search() :返回数据集

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

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

2:search_count():返回整数

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

3:browse() :返回数据集

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

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

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

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

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

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

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

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

records.ensure_one()

三:改

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

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

四:删

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

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