odoo10-增删改查操作

增加记录:

def create(self, cr, uid, vals, context={}):返回新建记录的id

self:当前操作的一个或多个纪录

cr、uid:用法暂不清楚

vals:是一个字典(dict),类似{'name_of_the_field':value, ...}。其中,键是字段名,值是字段值。

context:用法不清楚


查找记录:

def search(self, cr, uid, args, offset=0, limit=2000):返回符合检索条件的记录的id集合

·args: 包含检索条件的tuples列表,格式为: [('name_of_the_field', 'operator', value),...]。可用的operators有:

=, >, <, <=, >=

in

like, ilike

child_of

· offset (optional): 偏移记录数,若offset=5,则检索结果的前5条记录不返回

· limit (optional): 返回结果的最大记录数。


查找记录指定字段:

def read(self, cr, uid, ids, fields=None, context={}):返回读取结果的字典列表,形如 [{'name_of_the_field':value, ...}, ...],列表(list)中每个元素是字典(dict),每个字典保存了对应记录的指定字段值

·ids: 待读取的记录的id列表,形如[1,3,5,...]

· fields (optionnal): 待读取的字段值,不指定的话,读取所有字段。


查找记录,并返回对象:

def browse(self, cr, uid, select, offset=0, limit=2000):返回select指定的id或id集合对应的对象或对象列表。

·select: 待返回的对象id,可以是一个id,也可以是一个id 列表。

· offset (optional): 参见search方法。

· limit (optional): 参见search方法。

解析:

browse方法浏览对象及其关联对象。从数据库中读取指定的记录,并生成对象返回。和read等方法不同,本方法不是返回简单的记录,而是返回对象。返回的对象可以直接使用"."存取对象的字段和方法,形如"object.name_of_the_field",关联字段(many2one等),也可以通过关联字段直接访问“相邻”对象。例如:

addr_obj = self.pool.get('res.partner.address').browse(cr, uid, contact_id)

nom = addr_obj.name

compte =addr_obj.partner_id.bank

这段代码先从对象池中取得对象res.partner.address,调用它的方法browse,取得id=contact_id的对象,然后直接用"."取得"name"字段以及关联对象patner的银行(addr_obj.partner_id.bank)。


修改记录指定字段的值:

def write(self, cr, uid, ids, vals, context={}):修改一个或多个记录

· ids: 待修改的记录的id列表。

· vals: 待保存的字段新值,是一个字典,形如: {'name_of_the_field': value, ...}。

· context (optional): 参见create方法。

修改成功,则该函数返回True,否则返回False


删除记录:

def unlink(self, cr, uid, ids):删除指定id集合的记录

· ids: 待删除的记录的id列表。

删除成功,则该函数返回True,否则返回False


参考文章:http://blog.sina.com.cn/s/blog_57c1d2540101l4ht.html

你可能感兴趣的:(odoo10-增删改查操作)