Odoo 开发中 wizard 向导页的使用方法 - Oejia 技术栈,企业方案分享、Odoo顾问
Oejia 技术栈
主页
分享
微信模块
索引
关于
订阅
编辑器
登录
Odoo 开发中 wizard 向导页的使用方法
admin
on 2016-12-29 13:27:09
### 概述 Odoo 中有不少地方涉及对话向导页面模式,这种功能页很方便灵活,可以随意产生自已定义的表单/动作交互操作流,下面我们就举例讲解具体使用方法 ### 方法 以odoo中“更新模块列表"这个操作为例 #### 1. 定义模型 ``` class BaseModuleUpdate(models.TransientModel): _name = "base.module.update" _description = "Update Module" updated = fields.Integer('Number of modules updated', readonly=True) added = fields.Integer('Number of modules added', readonly=True) state = fields.Selection([('init', 'init'), ('done', 'done')], 'Status', readonly=True, default='init') ``` 其中几个字段都是用于状态记录的 #### 2. 定义动作方法 @api.multi def update_module(self): for this in self: updated, added = self.env['ir.module.module'].update_list() this.write({'updated': updated, 'added': added, 'state': 'done'}) return False #### 3. 定义form试图 ```xml
``` form试图是wizard 向导页的呈现载体 #### 3. 创建 act_window 模型对象指向到上面定义的模型 #### 4. 创建触发点 **方法一:从菜单出发** 1. 创建 act_window,模型对象指向到上面定义的模型 2. 创建入口菜单关联上面创建的act_window 3. 触发按钮可以放在指向该模型的任意试图里,如上面的form试图中的 ` name="update_module"` 的按钮,每个按钮都可以关联模型定义中的一个方法,形成触发关联 **方法二:从其他模型的下拉按钮触**发 创建一个模型的下拉act_window,示例如下 ```xml
``` 其中src_model即为要挂载的目标模型,res_model为wizard本体模型,context的值是关键,限定当前动作只影响所选的行 ### 扩展 上面说到了模型中定义的方法,其实他还可以关联一个 `ir.actions.server` 对象实现更高级的交互功能,具体用法我们将在后续文章中详细讲解
Information
Odoo 开发中 wizard 向导页的使用方法
http://www.oejia.net/blog/2016/12/29/odoo_wizard.html
http://www.oejia.net/raw/2016/12/29/odoo_wizard.md
admin
on 2016-12-29 13:27:09
Category
Odoo
Tag
Related
2019-03-08 :
Odoo 菜单美化模块 oejia_menu 常见问题处理
2018-11-23 :
基于 Django 实现的开源 FreeSwitch GUI —— YouPBX
2018-08-22 :
Odoo 微信模块企业版
2018-05-04 :
基于 Odoo 微信模块实现的微信客服系统
2016-12-07 :
DjangoX 模型管理页面自定义模板示例
2016-05-14 :
常见 HTTP 状态码解析
2016-03-14 :
关于 Odoo 的 dbfilter 配置项
2016-01-19 :
Odoo 新 API 的使用说明
2016-01-17 :
新版开启2016年新篇章
2016-01-17 :
EXTJS布局示例(panel,Viewport,TabPanel)
January 2023
Sun
Mon
Tue
Wed
Thu
Fri
Sat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
分类
Odoo (121)
DjangoX (13)
后端HTTP (7)
YouMd (4)
移动开发 (4)
Django (3)
前端 (2)
JS (2)
公告说明 (2)
Python (1)
Nginx (1)
桌面UI (1)
异常处理 (1)
官方公众号
关注公众号实时咨询我们
About This Entry
DjangoX Ajax表单交互之“部分更新”patch式
Odoo 开发前台页面和模板引擎的使用
About This Blog
main index
to find recently
archives
to find all
标签
微信模块发布记录
微信模块
小程序商城
Python
Web
Http
客服系统
OE商城
Cordova
审批OA
HTML5
Markdown
解析
DjangoX
ExtJS
示例
Excel
JS
新年
PyQT
扩展开发
YouPBX
服系统
最近发布
SyntaxError: Failed to execute 'querySelectorAll' on 'Element': 'footer:not(field footer)' is not a valid selector
企业微信错误码:60020 的处理
在 Odoo 中使用 WebSocket 并兼容Odoo的Session会话识别
Odoo 让 server action 显示到指定的视图上
Odoo 增加树形列表视图的支持
Odoo 16 正式发布时间
Odoo 企业微信之日历、日程的同步
钉钉消息通知及审批功能的使用说明
Odoo 客户管理之微信定位模块
AccessError: (u'Database fetch misses ids ((1,))) and has extra ids (1), may be caused by a type incoherence in a previous request'
Friend Links
Oejia技术梦博客分享
YouMd,爱上MarkDown
Mole轻量级wsgi架子