模型是 odoo 框架的核心,它們描述應用的資料結構,是應用服務和資料庫儲存之間的橋梁。可圍繞模型實現業務邏輯來為應用新增功能,使用者介面也建立在模型之上。下面我們將學習模型的
通用屬性,用於影響行為,以及幾種模型型別:普通(regular)、臨時(transient)和抽象(abstract)型別。
模型類可以使用控制其部分行為的額外屬性,以下是最常用的屬性:
⚫ _name 是我們建立的 odoo 模型的內部識別符號,在建立新模型時為必填。
⚫ _description 是對使用者友好的模組記錄標題,在使用者介面中檢視模型時顯示。可選但推薦添
加。⚫ _order 設定瀏覽模型記錄時或列表檢視的預設排序。其值為 sql 語句中 order by 使用的字串,所以可以傳入符合 sql 語法的任意值,它有智慧型模式並支援可翻譯及 manyto-one 欄位名。
我們的圖書模型中已使用了_name 和_description 屬性,可以新增乙個_order 屬性來預設以圖書名排序,然後按出版日期倒序排(新出版在前)。
class book(models.model):
_name = 'library.book'
_description = 'book'
_order = 'name, date_published desc'
在高階用例中還會用到如下屬性:
⚫ _rec_name 在從關聯字段(如 many-to-one 關聯)中引用時作為記錄描述。預設使用模型
中常用的 name 字段,但可以指定任意其它字段。
⚫ _table 是模型對應的資料表名。預設表名由 orm 通過替換模組名中的點為下劃線來自動
定義,但是可通過該屬性指定表名。
⚫ _log_access=false 用於設定不自動建立審計追蹤字段: create_uid, create_date,
write_uid 和 write_date。
⚫ _auto=false 用於設定不自動建立模型對應的資料表。如有需要,可通過過載 init()方法來
建立資料庫物件:資料表或檢視。
還有用於繼承模組的_inherit 和_inherits 屬性,在本文後續會深入學習。
更多教程:
星輝odoo教程8 Odoo開發如何入門
odoo是世界第一的開源erp軟體,很多企業都在使用.在使用的過程中,為了滿足企業的管理需求,二次開發是必不可少的。odoo開發如何入門?星輝資訊科技總結了一下,主要包括以下幾點 odoo的版本很多,而且每個版本的區別挺大的。不通版本介面也有區別,您可以根據自己的需要確定要二次開發的版本,然後找到對...
星輝odoo教程 大型企業如何資訊化
大型企業規模大,業務多,it 系統異常複雜。下圖是聯想高階副總裁王曉巖在聯想 技術大會 上發布的聯想的 it 架構圖。大型企業的骨幹 it 系統一般基於久經驗證的大型企業軟體架構,如聯想,後端骨幹業務系統基於 sap ecc 架構,前端骨幹系統基於 sap crm 架構。圍繞骨幹系統,有很多小系統,...
軟體測試 2 開發模型和測試模型
軟體的生命週期 軟體的生命週期是指從軟體產品的設想開始到軟體不再使用而結束的時間。一般分為6個階段 需求分析 計畫 設計 編碼 測試 執行維護。瀑布模型 瀑布模型是所有其他模型的基礎框架,每個階段只執行一次,因此是線性順序進行的軟體開發模式。優點 1.強調開發的階段性 2.強調早期計畫及需求調查 3...