轉載請註明原文地址:http://www.javashuo.com/article/p-qxuxeysy-md.html html
actions定義了系統對於用戶的操做的響應:登陸、按鈕、選擇項目等。python
一:窗口action(ir.actions.act_window )web
最經常使用的action類型,用於將model的數據展現出來。數據庫
字段列表: 1.res_model -- 須要在view裏顯示數據的model 2.views -- 一個(view_id, view_type) 列表,view_type表明視圖類型如:form,tree,gragh...,view_id是可選的數據庫id或False,若是沒有指定id,客戶端會自動用fields_view_get()獲取相應類型的默認視圖,type參數列表的第一個會被默認用來展現 3.res_id (可選) -- 當默認的視圖類型是form時,可用於指定加載的數據 4.search_view_id (可選) -- (id, name),id是儲存在數據庫的搜索視圖,默認會讀取model的默認搜索視圖 5.target (可選) -- 定義視圖是 在當前視圖上打開(current)、使用全屏模式(fullscreen)、使用彈出框(new)、可以使用main代替current來清除麪包屑導航 6.context (可選) -- 額外的須要傳給視圖的環境數據 7.domain (可選) -- 自動添加到視圖搜索中的查詢 8.limit (可選) -- 在客戶端顯示的數據量,默認80 9.auto_search(可選) -- 搜索是否在加載默認視圖後當即執行,默認True
二:連接Action(ir.actions.act_url)express
能夠經過odoo的連接打開一個網站頁面,可經過兩個字段來自定義:服務器
三:服務器Action (ir.actions.server)dom
能夠經過action定位來觸發複雜的服務端代碼:學習
context (可選) -- 執行服務端action的上下文環境
儲存在數據庫中的action能夠基於state執行一些特別的動做,部分字段在state之間是相互共享的網站
model_id -- 與action相關聯的model,在 evaluation contexts中可用lua
code -- 當調用action時執行的python代碼
object_create -- 使用鉤子建立一條新記錄(經過create或copy方法)
use_create
1.new - 基於指定的 model_id建立一條記錄
2.new_other - 基於指定的crud_model_id建立一條記錄
3.copy_current - 複製action所引用的記錄
4.copy_other - 複製一個經過ref_object得到的記錄
fields_lines --當建立或複製記錄時須要修改的字段,One2many 會有如下字段:
1.col1 -- 在use_create裏所包含的須要被重賦值的ir.model.fields
2.value -- 字段對應的值,基於type進行解析
3.type -- 取值value:就是value字段的值,取值equation:value字段會當成python來解析
object_write -- 與object_create類似,只是只修改當前記錄而不建立新記錄
multi
將經過child_ids many2many關係定義的action一個個執行,若是有action本身返回action,最後一個action被返回給客戶端做爲將前multi action的下一個action
trigger 發送一個信號給工做流
client_action -- 返回經過action_id定義的action
四:報表Action (ir.actions.report.xml)
此action爲打印報表的觸發器:
五:客戶端Actions (ir.actions.client)
觸發一個徹底在客戶端實現的action: