odoo12學習筆記


1 使用one2many, 另一張表必須要有一個many2one的字段, 反向關聯只是為了方便取值

2 many2many會新增一個表

3 傳統繼承支持多重繼承, 用列表表示: inhert = ['mail.thread', 'resource.mixin']

4 進入odoo shell (用ipython解釋器)
python odoo-bin shell -c odoo.conf --shell-interface ipython -d odoo

-c 指定配置文件
--shell-interface 指定python解釋器
-d 指定數據庫

5 委托繼承
- 可以讀寫子模型的字段
- 只能繼承字段, 不能繼承方法

6 base是基礎模塊, 不用寫在depends里

7 domain
知識點1
- Python里寫, 右葉只能是值
- XML里寫, 右葉可以是其它字段/值

知識點2
如果一個字段同時設置Python和XML的domain, 那么XML的domain會覆蓋Python的domain

知識點3
XML不能用category_id.name !!!!不能使用【點號】

8 one2many 本表是沒有many的數據的, 但是可以通過ORM查詢到

9 計算字段注意區別
- multi 多條記錄
- one 單條記錄

10 recordsets支持+號這種語法

11 active = False tree視圖不顯示, odoo機制,
context = "{'active_test': False}" 可以禁用這種機制

12 新建admin uid為2 # 以前系統自帶的admin賬戶uid為1

13 計算字段的默認值獲取方式, 可以重寫default_get方法

14 onchange除了返回提示框, 還可以返回domain或raise userError

15 onchange和depends在鼠標失去焦點時, oncahnge先觸發

16 onchange model multi裝飾器的方法里, 可以訪問self._origin獲取原始數據

17 onchange里的self始終是odoo.models.NewId對象, 所以賦值的操作是在前端發生的

18 約束:sql約束在python約束之后

19 權限可以在前端的開發者模式設置

20 編寫CSV文件時, pycharm可以右鍵Edit as Table --> CSV --> ok

21 前(開發者模式)后端同時設置權限時, 大權限會覆蓋小權限

22 規則的邏輯
1 groups 應用該規則的組
2 domain_force 過濾出執行規則約束的記錄
3 各種規則

23 odoo12開始減少workflow的使用, 推薦使用workflow-ish的方式來處理工作流過程

24 向導
知識點1: 瞬態模型, 不會存在數據庫, 臨時的, 一段時間后會刪掉
知識點2: wizard沒有必要指定權限, 默認所有用戶可以訪問
知識點3: wizard記錄中的字段可以通過many2one指向wizard對象或普通model對象, 反之不成立

25 報表, odoo12有變化,
- docs ==> self 從context發過來的變量
- user 當前打印報表的人

- html可以打印多個, 通過直接寫id

26 RPC是一種協議, 供我們訪問服務器上的內容
XML_RPC調用時, USER和PASS是user表中的數據, 不是數據庫的用戶名和密碼


免責聲明!

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



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