轉載請注明原文地址:https://www.cnblogs.com/ygj0930/p/10826214.html
一:增
1:create():返回新創建的記錄對象
self.create({'name': "New Name"})
二:查
1:search() :返回數據集
接收domain表達式參數,返回符合條件的數據集,可以通過limit,offset參數限定查詢條數,還可通過order參數根據某字段值對數據集排序。
self.search([('is_company', '=', True), ('customer', '=', True)])
2:search_count():返回整數
統計滿足條件的數據數量。
3:browse() :返回數據集
根據數據的id或者一組id來查找,返回符合條件的數據集。
self.browse([7, 18, 12])
4:exists() :用於檢查數據集是否為空
if not record.exists():
raise Exception("The record has been deleted")
5:ref() :根據外部ID,返回數據記錄(odoo中一切皆記錄,因此只要知道外部id,都可以取到)
運行環境函數,根據提供的外部id返回對應的數據記錄。
在python代碼中根據外部id取記錄:
env.ref('base.group_public')
在xml中根據外部id取記錄:
<field name="xx" ref="外部id"/>
6:ensure_one() 檢驗某數據集是否只包含單條數據,如果不是則報錯
records.ensure_one()
三:改
1:write() :對指定數據集的所有記錄進行修改,沒有返回值
self.write({'name': "Newer Name"})
四:刪
1:unlink() :刪除調用該方法對記錄對象。
self.env['模型'].search([(條件)]).unlink()
