天天看點

odoo中的一些方法

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等遠端調用

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

field标記的屬性如下:

name: 必需的, 字段名

eval: 可選的, 一個python表達式, 通過它計算值

ref: 對本檔案中出現過的id的引用

model: 搜尋時使用的模型

search: 一個查詢