转载请注明原文地址: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: