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()

 

    

 

posted @ 2019-05-07 16:17  keenyeh  阅读(2275)  评论(0编辑  收藏  举报