什麼是 ORM 方法和細節
建立方法: 建立具有指定值的新記錄。獲取多個欄位值,並返回包含所建立記錄的記錄集
def create(self,vals):
return super(class_name, self).create(vals)
寫入方法: 使用給定的值更新具有給定欄位值的記錄。獲取許多欄位值,將它們寫入其記錄集中的所有記錄。不歸還任何東西
def write(self,vals):
return super(class_name, self).write(vals)
搜尋方法: 根據搜尋域搜尋記錄。獲取搜尋域,返回匹配記錄的記錄集。可以返回匹配記錄的子集(偏移和限制引數)並進行排序(順序引數)
self.search([('customer','=',True)])
self.env['res.partner'].search(['partner','=',True])
瀏覽方法:將記錄作為物件獲取,允許使用點表示法瀏覽欄位和關係。獲取資料庫 ID 或 id 列表並返回記錄集,當從外部 Odoo 獲取記錄 ID 時非常有用(例如,通過外部系統往返)或者在舊 API 中呼叫方法時。
self.browse([7,8,9])
self.env['res.partner'].browse([7,8,9])
存在方法: 返回僅包含資料庫中存在的記錄的新記錄集。可用於檢查記錄(例如,從外部獲得)是否仍然存在。
records = records.exists()
ref 方法: 返回與提供的外部 id 匹配的記錄的環境方法
self.env.ref('base.group_public')
ensure_one 方法: 檢查記錄集是否為單例(僅包含單個記錄),否則引發錯誤
records.ensure_one()