Odoo中的ORM API(模型数据增删改查)
转载请注明原文地址: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()