Odoo中文网|Odoo实施培训

标题: odoo 基本方法 [打印本页]

作者: 南帝    时间: 2018-1-29 20:55
标题: odoo 基本方法

基本方法

create方法
在数据表中插入一条记录(或新建一个对象的resource)
格式:
def create(self,cr,uid,vals,context={})
参数:
vals:待新建记录的字段值,是一个字典。
返回值:新建记录的id

search方法
查询符合条件的记录
格式:
def search(self,cr,uid,args,offset=0,limit=2000)
参数:
args:包含检索条件的tuple列表,格式为[(‘name_of_the_field’,’operators’,value),…]。可用的operators有:=,<,>,<=,>=,in,like,child_of
offset(optional):偏移记录数,表示不返回检索结果的offset条
limit(optional):返回结果的最大记录数
返回值:符合条件的记录的id list

read方法
返回记录的指定字段值列表
格式:def read(self,cr,uid,ids,fields=None,context={})
参数:
ids:待读取的记录的id列表,比如[1,3,5]
fields(optional):待读取的字段值,不指定则读取所有字段
context(optional):context是一个字典,存放一些上下文值
返回值:
返回读取结果的字典列表

browse方法
浏览对象及其关联对象。从数据库中读取指定的记录,并生成对象返回。和read等方法不同,本方法不止返回简单的记录返回对象。返回的对象可以直接使用‘.’存取对象的字段和方法,也可以通过关联字段直接访问“相邻”对象。
格式:
def browse(self, cr, uid, select, offset=0, limit=2000)
例:
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”字段以及关联对象partner的银行(addr_obj.partner_id.bank)
参数:
select:待返回的对象id,可以是一个id或是一个id列表
offset(optional)偏移记录数,表示不返回检索结果的offset条
limit(optional):返回结果的最大记录数
返回值:返回对象或对象列表
注意:
本方法只能在Server上使用,不支持rpc等远程调用

write方法
保存一个或几个记录的一个或几个字段
格式:def write(self,cr,uid,ids,vals,context={})
参数:
ids:待修改的纪录的id列表
vals:待保存的字段新值,是一个字典
context(optional):context是一个字典,存放一些上下文值
返回值:
没有异常情况下返回True,否则抛出异常

unlink方法
删除一个或几个记录
格式:def unlink(self,cr,uid,ids)
参数:
ids:待删除的记录的id列表
返回值:如果没有异常,返回True,否则抛出异常

default_get方法
复位一个或多个字段的缺省值
格式:def default_get(self,cr,uid,fields,form=None,reference=None)
参数:
fields:希望复位缺省值的字段列表
返回值:
字段缺省值,是一个字典

default_set
充值字段的缺省值
格式:def default_set(self,cr,uid,field,value,for_user=False)
参数:
field:待修改缺省值的字段
value:新的缺省值
for_user(optional):修改是否只对当前用户有效,还是对所有用户有效,缺省值是对所有用户有效
返回值:True







欢迎光临 Odoo中文网|Odoo实施培训 (http://www.chinaodoo.net/) Powered by Discuz! X3.2