目录
odoo14开发参考 1
odoo14开发参考 2
1 前言 11
1.1 本书的环境基础 12
1.2 本书面向对象 12
2 安全性 13
2.1 访问控制 13
2.2 记录规则 13
2.3 字段访问 13
3 命令行 15
3.1 运行服务参数 15
3.2 数据库参数 15
3.3 电子邮件参数 16
3.4 翻译参数 17
3.5 高级选项 17
3.5.1 开发人员功能 17
3.5.2 HTTP参数 17
3.5.3 日志参数 18
3.5.4 多线程处理 19
3.6 配置文件 20
3.7 shell 21
3.8 脚手架 21
4 结构文件 21
4.1 模块manifest文件结构 21
5 ORM API参考 24
5.1 记录集 24
5.1.1 字段访问 24
5.1.2 记录缓存和预取 25
5.1.3 设置动作 25
5.1.4 其他记录集动作 25
5.2 环境 26
5.2.1 更改环境 27
5.2.2 常见的ORM方法 27
5.3 创建模型 28
5.3.1 计算字段 29
5.3.2 onchange:动态值更新 30
5.3.3 低级别SQL 30
5.3.4 新API和旧API之间的兼容性 31
5.4 模型参考 32
5.4.1 class odoo.models.Model(pool, cr) 32
5.4.2 结构属性 32
5.4.3 CRUD 34
5.4.4 eval 35
5.4.5 read([fields]) 37
5.4.6 read_group(domain, fields, groupby, offset=0, limit=None, orderby=False,lazy=True) 37
5.4.7 查询search 38
5.4.8 记录集操作 39
5.4.9 环境切换 40
5.4.10 字段和视图查询 41
5.4.11 杂项方法 41
5.4.12 自动字段 42
5.4.13 保留字段名称 43
5.5 方法装饰器 43
5.5.1 api.model(method) 44
5.5.2 api.depends(*args) 44
5.5.3 api.constrains(*args) 45
5.5.4 api.onchange(*args) 45
5.5.5 api.returns(model, downgrade=None, upgrade=None) 45
5.6 字段 46
5.6.1 基本字段 46
5.6.2 计算字段 47
5.6.3 关联字段 47
5.6.4 依赖公司字段 48
5.6.5 字段增量定义 48
5.6.6 Date和Datetime字段 49
5.6.7 关系字段 54
5.7 继承和扩展 55
5.7.1 经典继承 56
5.7.2 扩展继承 57
5.7.3 委托继承 57
5.8 Domains域 58
5.8.1 field_name(str) 58
5.8.2 operator(str) 58
5.9 从旧API移植到新API 59
6 XML/CSV数据文件 61
6.1 结构 61
6.2 核心操作 61
6.2.1 record 61
6.2.2 field 62
6.2.3 delete 63
6.2.4 function 63
6.3 快捷标记 64
6.3.1 menuitem 64
6.3.2 template 64
6.3.3 report 65
6.4 CSV数据文件 65
7 视图 67
7.1 基础结构 67
7.2 继承 68
7.2.1 视图匹配 68
7.2.2 视图解析 68
7.2.3 继承规范 68
7.3 tree 70
7.4 field 72
7.5 form 74
7.5.1 结构构成 74
7.5.2 语义构成 75
7.5.3 业务视图指南 77
7.5.4 配置表单指南 83
7.5.5 对话形成指南 83
7.5.6 配置向导指南 83
7.6 graph 84
7.7 pivot 84
7.8 kanban 85
7.8.1 按钮和字段 87
7.9 日历 88
7.10 甘特图 89
7.11 图表 93
7.12 仪表板 94
7.13 群组视图 97
7.14 活动 97
7.15 搜索 98
7.15.1 搜索默认值 102
7.16 QWeb 102
8 动作-action 104
8.1 绑定 104
8.2 窗口动作(ir.actions.act_window) 105
8.3 URL动作(ir.actions.act_url) 107
8.4 服务器动作(ir.actions.server) 107
8.4.1 状态栏 108
8.4.2 评估背景 109
8.5 报表动作(ir.actions.report) 109
8.6 客户端动作(ir.actions.client) 110
8.7 自动动作(ir.cron) 110
9 翻译模块 112
9.1 隐性导出 112
9.2 明确导出 113
9.2.1 变量 113
9.2.2 块 113
9.2.3 复数 114
9.2.4 读取与运行时间 114
10 Web路由控制器 115
10.1 odoo.http.route(route=None, **kw) 115
10.1.1 CSRF保护 115
10.2 请求 116
10.2.1 class odoo.http.WebRequest(httprequest) 116
10.2.2 httprequest 116
10.2.3 params 116
10.2.4 cr 116
10.2.5 context 116
10.2.6 env 117
10.2.7 session 117
10.2.8 debug 117
10.2.9 registry 117
10.2.10 db 117
10.2.11 csrf_token(time_limit=3600) 117
10.2.12 class odoo.http.HttpRequest(*args) 117
10.2.13 make_response(data, headers=None, cookies=None) 118
10.2.14 not_found(description=None) 118
10.2.15 render(template, qcontext=None, lazy=True, **kw) 118
10.2.16 class odoo.http.JsonRequest(*args) 118
10.3 响应 119
10.3.1 class odoo.http.Response(*args, **kw) 119
10.3.2 render() 119
10.3.3 flatten() 119
10.4 控制器 120
10.4.1 class odoo.http.Controller 120
11 QWEB 120
11.1 数据输出 121
11.2 条件语句 121
11.3 循环 121
11.4 属性 123
11.5 设置变量 123
11.6 调用子模板 124
11.7 python 125
11.7.1 独家指令 125
11.7.2 调试 125
11.7.3 助手 125
11.8 使用Javascript 126
11.8.1 特殊指令 126
11.8.2 调试 127
11.8.3 助手 128
11.8.4 API 128
12 QWeb报告 130
12.1 报告 130
12.2 报告模板 131
12.2.1 最小的可行模板 131
12.2.2 可翻译的模板 132
12.2.3 条形码 132
12.2.4 有用的备注 133
12.3 纸张格式 133
12.4 自定义字体 134
12.5 自定义报告 135
12.6 网页访问报告 135
13 OWl开发参考 136
13.1 动画制作 136
13.1.1 简单的CSS效果 136
13.1.2 CSS过渡 136
13.1.3 SCSS Mixins 137
13.2 浏览器 137
13.2.1 浏览器内容 137
13.3 内容 138
13.4 组件 138
13.4.1 例子 138
13.4.2 参考 139
13.4.3 无功系统 139
13.4.4 属性 140
13.4.5 静态特性 140
13.4.6 方法 141
13.4.7 生命周期 142
13.4.8 根组件 143
13.4.9 组成 144
13.4.10 表单创建 144
13.4.11 动态子组件 146
13.4.12 功能部件 147
13.4.13 SVG组件 147
13.5 并发模型 148
13.6 配置文件 150
13.7 上下文 151
13.8 环境 152
13.9 活动总线 153
13.10 事件处理 154
13.11 错误处理 155
13.12 钩子 156
13.13 挂载应用 161
13.14 杂项组件 161
13.15 监控 163
13.16 道具 163
13.17 道具验证 164
13.18 路由器 166
13.19 Store 168
13.20 标签 171
13.21 实用程序 173
13.22 QWeb引擎 175
13.23 slot 176
14 Javascript cheatsheet 179
14.1 创建新的字段 Widget 179
14.2 修改现有的字段 Widget 179
14.3 从界面修改主窗口 Widget 180
14.4 创建新视图 180
14.5 扩展现有视图 181
14.6 promises和异步代码 182
14.6.1 创建新的promises 182
14.6.2 等待promises 184
14.6.3 错误处理 184
14.6.4 测试异步代码 185
15 Javascrip API 187
15.1 概述 187
15.2 Web客户端 187
15.2.1 单页应用程序 187
15.2.2 Web客户端JS代码概述 187
15.3 资源管理 188
15.3.1 主要依赖 189
15.3.2 添加资源包中的文件 189
15.3.3 如果未加载/更新文件该怎么办 190
15.4 Javascript模块系统 190
15.4.1 定义模块 191
15.4.2 异步模块 192
15.4.3 最佳做法 192
15.5 类系统 192
15.5.1 创建子类 193
15.5.2 继承 193
15.5.3 混入 193
15.5.4 修补现有的类 194
15.6 Widget 194
15.6.1 Widget 存活周期 195
15.6.2 Widget API 196
15.6.3 在DOM中插入 Widget 197
15.6.4 Widget 指南 198
15.7 QWeb模板引擎 199
15.8 活动系统 199
15.8.1 基础事件系统 200
15.8.2 扩展事件系统 200
15.9 Registry登记 201
15.10 Widget 之间的通信 201
15.11 服务 202
15.11.1 服务 202
15.11.2 服务提供者 203
15.11.3 窗口 Widget 203
15.11.4 RPC 203
15.12 通知 204
15.12.1 通知系统 204
15.12.2 显示通知 204
15.13 系统托盘 205
15.13.1 添加新的Systray项目 205
15.13.2 订购 205
15.14 翻译管理 205
15.15 会话 206
15.15.1 向会话添加信息 206
15.16 视图 207
15.17 Field Widgets 208
15.17.1 AbstractField 208
15.17.2 Decorations 208
15.17.3 非关系字段 209
15.17.4 关系字段 215
15.18 客户端动作 217
15.18.1 添加客户端动作 218
15.18.2 使用控制面板mixin 218
16 移动端Javascript 220
16.1 介绍 220
16.2 它是如何工作的? 220
16.3 如何使用它? 221
16.3.1 方法 221
17 Mixins和有用的类 226
17.1 消息功能 226
17.1.1 消息集成 226
17.1.2 发布消息 226
17.1.3 接收消息 227
17.1.4 关注者管理 228
17.1.5 记录更改 229
17.2 子类型 230
17.3 自定义通知 231
17.4 覆盖默认值 234
17.4.1 邮件别名 234
17.5 活动跟踪 238
17.6 网站功能 238
17.6.1 访客跟踪 238
17.6.2 网站可见性 239
17.6.3 网页元数据 240
17.7 其他 241
17.7.1 客户评级 241
18 单元测试 243
18.1 测试Python代码 243
18.1.1 运行测试 248
18.1.2 测试选择 248
18.1.3 重要 249
18.2 测试JS代码 249
18.2.1 Qunit测试套件 250
18.2.2 编写测试用例 250
18.2.3 警告 251
18.2.4 测试基础架构 251
18.2.5 模块化和测试 251
18.2.6 添加一个新的测试用例 252
18.2.7 辅助函数和专门的断言 252
18.2.8 最佳实践 253
18.2.9 提示 254
18.3 整合测试 254
18.3.1 browser_js测试期间的屏幕截图和截屏视频 254
18.4 模块用例 255
18.4.1 创建一个新模块 255
18.4.2 创建Python文件 255
18.4.3 创建类并添加导入 255
18.4.4 编写测试 256
18.4.5 运行/测试测试 256
18.5 集成测试 257
19 外部API 258
19.1 连接 258
19.2 API密钥 258
19.3 登录 260
19.4 调用方式 260
19.5 列出记录 261
19.6 分页 261
19.7 计数记录 261
19.8 读取记录 261
19.9 列出记录字段 262
19.10 搜索和读取 263
19.11 创建记录 263
19.12 更新记录 264
19.13 删除记录 264
19.14 检验与查询 264
20 多公司准则 266
20.1 公司相关领域 267
20.2 多公司一致性 267
20.3 默认公司 268
20.4 视图权限 268
20.5 安全规则 269
21 odoo代码分析 269
21.1 绘制方法图 269
21.1.1 安装pyflame和flamegraph 270
21.1.2 记录执行的代码 270