odoo12开发手册 第四版-完整目录- 开源ERP 模块源码二次开发

目录
odoo12开发手册 第四版 1
odoo12开发手册 第四版 3
0 前言 15
0.1 本书适合谁 16
0.2 这本书包涵内容 16
0.3 如何充分使用本书 17
0.4 下载示例源码 18
0.5 下载彩色图像 18
0.6 使用的约定 18
0.7 康虎学院开发公开课 19
1 快速入门 20
1.1 技术要求 20
1.2 介绍待办事项列表项目 21
1.3 基本概念 22
1.3.1 odoo架构 22
1.3.2 社区版与企业版区别 23
1.3.3 odoo版本策略 23
1.4 配置工作环境 24
1.4.1 使用SaaS试用数据库 24
1.4.2 在Windows上安装 24
1.4.3 使用Docker容器安装 24
1.4.4 其他安装选项 25
1.4.5 创建工作数据库 26
1.4.6 启用开发者模式 27
1.5 向现有模型添加字段 28
1.5.1 向模型添加字段 28
1.5.2 表单视图添加字段 29
1.6 创建一个新模型 33
1.7 配置访问控制权限 35
1.7.1 安全组 35
1.7.2 访问控制 36
1.7.3 记录规则 37
1.7.4 超级用户帐户 38
1.8 创建菜单项 38
1.9 创建视图 41
1.9.1 列表视图 41
1.9.2 表单视图 41
1.9.3 搜索视图 42
1.10 摘要 43
1.11 问题 43
2 配置开发环境 45
2.1 技术要求 45
2.2 配置odoo运行服务器 45
2.2.1 安装WSL子系统 45
2.2.2 安装Linux服务器 46
2.3 从源代码安装 46
2.3.1 安装PostgreSQL数据库 47
2.3.2 安装python依赖项 47
2.3.3 从源码安装 48
2.3.4 初始化新数据库 49
2.4 管理odoo数据库 49
2.5 更多服务配置选项 50
2.5.1 服务配置文件 50
2.5.2 更改侦听端口 51
2.5.3 数据库选择选项 51
2.5.4 管理服务日志消息 51
2.6 安装其他模块 52
2.6.1 查找社区模块 52
2.6.2 配置插件路径 52
2.7 在virtualenv虚拟环境中安装odoo 53
2.7.1 从PyPI下载和安装附加模块 54
2.8 服务器开发者模式 55
2.9 摘要 55
3 创建应用模块 56
3.1 技术要求 56
3.2 图书馆项目概述 56
3.3 创建一个新模块 57
3.3.1 准备插件路径 57
3.3.2 创建模块目录和清单 58
3.3.3 添加图标 59
3.3.4 选择许可证 59
3.3.5 安装新模块 60
3.3.6 升级模块 60
3.4 创建新的应用 61
3.4.1 添加顶级菜单项 61
3.4.2 添加权限 62
3.5 添加自动化测试 63
3.5.1 测试业务逻辑 64
3.5.2 测试访问权限 64
3.6 模型层 64
3.6.1 创建数据模型 65
3.7 设置访问权限 66
3.7.1 添加访问控制权限 67
3.7.2 行记录访问规则 68
3.8 视图层 68
3.8.1 添加菜单项 69
3.8.2 创建表单视图 70
3.8.3 业务文档表单视图 71
3.8.4 添加动作按钮 71
3.8.5 使用组来组织表单 72
3.8.6 完整的表单视图 72
3.8.7 添加列表和搜索视图 73
3.9 业务逻辑层 73
3.9.1 添加业务逻辑 74
3.10 网页和控制器 74
3.11 摘要 76
3.11.1 问题 76
3.11.2 进一步阅读 76
4 继承模块 78
4.1 技术要求 78
4.2 继承图书馆模块 78
4.3 经典模型继承 79
4.3.1 将字段添加到模型 79
4.3.2 修改现有字段 80
4.4 修改视图和数据 80
4.4.1 继承视图 80
4.4.2 使用XPath选择扩展点 82
4.4.3 修改数据 82
4.5 更多模型继承机制 83
4.5.1 使用原型继承复制功能 83
4.5.2 使用委派继承嵌入模型 84
4.5.3 使用mixin类继承模型 86
4.6 继承Python方法 87
4.7 继承Web控制器和模板 88
4.7.1 继承Web控制器 88
4.7.2 继承QWeb模板 89
4.8 摘要 90
4.8.1 问题 91
4.8.2 进一步阅读 91
5 导入导出和模块数据 92
5.1 技术要求 92
5.2 了解外部标识符概念 92
5.2.1 外部标识符如何工作 93
5.2.2 查找外部标识符 94
5.3 导出和导入CSV数据文件 95
5.3.1 导出数据 95
5.3.2 导入数据 97
5.3.3 CSV数据文件中的相关记录 98
5.4 添加模块数据 99
5.4.1 演示数据 99
5.5 使用XML数据文件 100
5.5.1 noupdate数据属性 101
5.5.2 用XML定义记录 101
5.5.3 常用模型的快捷方式 103
5.5.4 XML数据文件中的其他操作 103
5.6 摘要 104
5.6.1 问题 104
5.6.2 进一步阅读 104
6 模型-构建应用数据 105
6.1 技术要求 105
6.2 改进图书馆应用 105
6.3 创建模型 106
6.3.1 模型属性 106
6.3.2 模型和Python类 106
6.3.3 瞬态和抽象模型 107
6.3.4 检查现有模型 107
6.4 创建字段 108
6.4.1 基本字段类型 108
6.4.2 常用字段属性 110
6.5 保留字段 111
6.6 模型之间的关系 112
6.6.1 多对一关系 112
6.6.2 一对多关系 113
6.6.3 多对多关系 113
6.6.4 分层关系 114
6.6.5 参考字段的灵活关系 115
6.7 计算字段 115
6.7.1 搜索和写入计算字段 116
6.7.2 存储计算字段 117
6.7.3 相关字段 117
6.8 模型约束 118
6.8.1 SQL模型约束 118
6.8.2 Python模型约束 118
6.9 关于odoo基础模型 119
6.10 摘要 119
7 记录集-使用模型数据 121
7.1 技术要求 121
7.2 使用shell命令 121
7.3 执行环境 122
7.3.1 环境属性 122
7.3.2 环境上下文 122
7.3.3 修改记录集执行环境 123
7.4 使用记录集和域查询数据 123
7.4.1 创建记录集 124
7.4.2 域表达式 124
7.5 访问记录集上的数据 126
7.5.1 访问记录中的数据 126
7.5.2 访问关系字段 126
7.5.3 访问日期和时间值 127
7.5.4 转换文本表示的日期和时间 128
7.6 写记录 128
7.6.1 使用对象类形式分配值写入 129
7.6.2 使用write()方法写入 129
7.6.3 写入日期和时间值 130
7.6.4 创建和删除记录 130
7.7 重构记录集 130
7.7.1 原生SQL和数据库事务 132
7.8 摘要 132
8 业务逻辑-支持业务流程 134
8.1 技术要求 134
8.2 library_checkout模块 134
8.3 使用以文档为中心的工作流程的阶段 136
8.4 ORM方法装饰器 138
8.4.1 记录集方法- @api.multi 138
8.4.2 单例记录方法- @api.one 139
8.4.3 类静态方法- @api.model 139
8.4.4 @api.onchange方法 139
8.4.5 其他模型方法装饰器 140
8.5 使用ORM内置方法 140
8.5.1 操作模型数据的方法 140
8.5.2 数据导入和导出的方法 142
8.5.3 用户界面支持的方法 143
8.6 消息和活动功能 143
8.6.1 消息子类型 144
8.6.2 发送消息 144
8.6.3 添加关注 144
8.7 创建向导 145
8.7.1 向导模型 145
8.7.2 向导表单 146
8.7.3 向导业务逻辑 147
8.8 使用日志消息 147
8.9 异常中断 148
8.10 单元测试 149
8.10.1 添加单元测试 149
8.10.2 运行测试 150
8.10.3 设置测试 150
8.10.4 编写测试用例 150
8.10.5 测试异常 151
8.11 开发工具 152
8.11.1 服务器开发选项 152
8.11.2 调试 152
8.11.3 检查并杀死正在运行的进程 154
8.12 摘要 155
8.12.1 进一步阅读 155
9 外部API-与集成其他系统 156
9.1 技术要求 156
9.2 对书籍进行编辑 156
9.3 在客户端计算机上设置Python 157
9.4 使用XML-RPC连接到odoo API 157
9.5 使用XML-RPC运行服务方法 158
9.6 API方法search和read 159
9.7 XML-RPC客户端接口 159
9.8 客户端用户界面 161
9.9 使用odooRPC库 162
9.10 关于ERPpeek客户端 163
9.11 摘要 164
9.11.1 进一步阅读 164
10 后端视图-设计用户界面 165
10.1 技术要求 165
10.2 菜单项 165
10.3 窗口动作 166
10.4 表单视图结构 167
10.4.1 业务文档视图 167
10.4.2 标题 168
10.4.3 业务文档视图 170
10.4.4 标题和副标题 170
10.4.5 对表单内容进行分组 171
10.4.6 表单选项卡 172
10.5 字段 172
10.5.1 字段标签 173
10.5.2 字段widget 173
10.5.3 关系字段 174
10.6 按钮 174
10.6.1 智能按钮 175
10.7 动态视图 176
10.7.1 更改时事件 177
10.7.2 动态属性 177
10.8 列表视图 177
10.9 搜索视图 178
10.10 其他视图类型 179
10.10.1 活动视图 180
10.10.2 日历视图 180
10.10.3 透视图 181
10.10.4 图表视图 181
10.11 摘要 182
10.11.1 进一步阅读 182
11 看板视图和客户端QWeb 183
11.1 技术要求 183
11.2 关于看板 183
11.2.1 看板视图 184
11.3 设计看板视图 185
11.3.1 优先级,看板状态和颜色 186
11.3.2 看板卡元素 186
11.3.3 看板卡布局 188
11.3.4 添加看板卡选项菜单 189
11.3.5 看板视图中的动作 190
11.4 QWeb模板语言 190
11.4.1 QWeb JavaScript评估上下文 191
11.4.2 字符串替换的动态属性- t-attf 191
11.4.3 表达式的动态属性- t-att 192
11.4.4 循环- t-foreach 192
11.4.5 条件- t-if 193
11.4.6 渲染值- t-esc和t-raw 193
11.4.7 在变量上设置值- t-set 194
11.4.8 调用并重用其他模板- t-call 194
11.4.9 使用词典和列表的动态属性 195
11.5 看板视图的继承 195
11.6 自定义CSS和JavaScript资源 196
11.7 摘要 197
11.7.1 进一步阅读 197
12 报告和服务器端QWeb 198
12.1 技术要求 198
12.2 安装wkhtmltopdf 198
12.3 创建业务报告 199
12.4 QWeb报告模板 200
12.4.1 在报告中呈现数据 201
12.4.2 渲染图像 203
12.4.3 报告计算 203
12.4.4 定义纸张格式 204
12.5 在报告中启用语言翻译 205
12.6 基于自定义SQL的报告 205
12.7 摘要 207
12.7.1 进一步阅读 207
13 创建前端网站 208
13.1 技术要求 208
13.2 图书馆自助服务 208
13.3 我们的第一个网页 210
13.3.1 Hello World使用QWeb模板 211
13.3.2 HelloCMS! 212
13.4 建立网站 212
13.4.1 添加CSS和JavaScript资源 213
13.4.2 结账清单控制器 214
13.4.3 checkoutsQWeb模板 214
13.4.4 checkouts详细信息页面 215
13.5 摘要 216
13.5.1 进一步阅读 216
14 部署和维护生产环境 217
14.1 技术要求 217
14.2 从源代码安装odoo 217
14.2.1 安装依赖项 218
14.2.2 准备专用系统用户 218
14.2.3 从源代码安装 219
14.2.4 设置配置文件 219
14.2.5 多线程处理 221
14.3 将odoo设置为系统服务 221
14.3.1 创建systemd服务 222
14.3.2 创建Upstart或sysvinit服务 222
14.3.3 从命令行检查odoo服务 223
14.4 设置nginx反向代理 223
14.5 配置和实施HTTPS 225
14.5.1 创建自签名SSL证书 226
14.5.2 在nginx上配置HTTPS访问 226
14.5.3 缓存静态内容 227
14.6 服务器和模块更新 227
14.6.1 创建暂存环境 227
14.6.2 更新odoo源代码 228
14.7 摘要 229
14.7.1 进一步阅读 229
15 问题参考答案 230
15.1 第1章 230
15.2 第3章 231
15.3 第4章 231
15.4 第5章 232
odoo中文社区野史-2018 233
首届odoo 社区贡献者获奖名单 233
2018年10月中国开源工业PaaS颁发 233
主要翻译整理中文版资料 235
odoo8中文参考手册 235
odoo10中文参考手册 235
odoo11中文参考手册 235
odoo12中文参考手册 236
更多最新手册资讯请访问 236

查看更多详情

原文地址:https://www.cnblogs.com/takan/p/14414345.html