Odoo中的ORM API(模型數據增刪改查)


轉載請注明原文地址: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()

 

    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM