增加记录:
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