odoo12开发基础手册 第四版

本书为 Odoo 12 Development Essentials Fourth Edition在线翻译版本,由学员共同翻译,免费分享,仅用学习参考。

http://www.odoogo.com/manual/odoo12-development-essentials/

本书介绍

odoo 是开源 erp 和 crm 的最佳平台之一。其最新版本的 odoo 12 在 python 包中带来了新的功能和更新, 以开发更多具有额外云功能的可定制应用程序。本书首先介绍了构建业务应用程序的开发要点。您将通过学习如何安装和配置 odoo 开始您的旅程, 然后从没有对 otoo 的具体了解过渡到为应用程序开发做好准备。您将开发第一个 odoo 应用程序, 并了解模型和视图等主题。odoo 12 开发基础还将指导您使用服务器 api 添加业务逻辑, 帮助您为高级主题奠定坚实的基础。随着章节的进展, 您将能够构建和自定义应用程序, 并探索 odoo 12 中的新功能 (如云集成), 以扩展您的业务应用程序。您将深入了解如何构建业务逻辑并将各种 api 集成到您的应用程序中。到本书的结尾, 您将能够通过使用最新版本的 otoo 从零开始构建业务应用程序。

你将学到

管理 odoo 服务器实例使用最常用的元素从头开始创建新的 odoo 应用程序开发新模型并使用继承来扩展现有模型在 odoo 服务器和外部客户端中使用 orm 方法有效地使用 qweb 创建看板视图构建自定义的 web 和网站 cms 页面使用外部 api 将 odoo 与外部应用程序集成添加自动化测试和技术以调试模块业务逻辑

作者丹尼尔·里斯。Daniel Reis在IT行业有很长的职业生涯,主要是一名在多个行业实施业务应用程序的顾问,现在一家跨国安全服务提供商Securitas工作。

他自2010年以来一直与Odoo(原名OpenERP)合作,是Odoo社区协会项目的积极贡献者,目前是Odoo社区协会董事会成员,并与葡萄牙领先的Odoo集成商ThinkOpen Solutions合作。

http://www.odoogo.com/manual/odoo12-development-essentials/

目录
odoo12 开发基础 第四版 3
0 前言 15
0.1 这本书适合谁 15
0.2 这本书包涵内容. 16
0.3 如何充分使用本书 17
0.4 下载示例源码 17
0.5 下载彩色图像 18
0.6 使用的约定 18
1 快速入门.
1.1 技术要求.
1.2 介绍待办事项列表项目
1.3 基本概念.
1.3.1 odoo 架构
1.3.2社区版与企业版区别
1.3.3 odoo 版本策略

1.4 配置工作环境
1.4.1 使用 SaaS 试用数据库
1.4.2 在 Windows 上安装 .
1.4.3 使用 Docker 容器安装
1.4.4 其他安装选项
1.4.5 创建工作数据库
1.4.6 启用开发者模式
1.5 修改现有模型以添加字段
1.5.1 向模型添加字段
1.5.2 将字段添加到表单视图
1.6 创建一个新模型.
1.7 配置访问控制安全性.
4
odoo12 开发基础
1.7.1 安全组
1.7.2 安全访问控制
1.7.3 安全记录规则
1.7.4 超级用户帐户
1.8 创建菜单项
1.9 创建视图.
1.9.1 列表视图
1.9.2 表单视图
1.9.3 搜索视图
1.10 摘要
1.11 问题
2 配置开发环境
2.1 技术要求.
2.2 配置 odoo 运行服务器
2.2.1 安装 WSL 子系统
2.2.2 安装 Linux 服务器 .
2.3 从源代码安装
2.3.1 安装 PostgreSQL 数据库 .
2.3.2 安装系统依赖项
2.3.3 从源代码安装
2.3.4 初始化新的数据库 .
2.4 管理 odoo 数据库
2.5 更多服务器配置选项.
2.5.1 服务器配置文件
2.5.2 更改侦听端口
2.5.3 数据库选择选项
2.5.4 管理服务器日志消息 .
2.6 安装其他模块
2.6.1 查找社区模块
2.6.2 配置加载项路径
2.7 在 virtualenv 中安装 odoo 环境
5

odoo12 开发基础
2.7.1 从 PyPI 下载和安装附加模块 .
2.8 服务器开发模式.
2.9 摘要
3 创建应用模块
3.1 技术要求.
3.2 图书馆项目概述.
3.3 创建一个新模块.
3.3.1 准备插件路径
3.3.2 创建模块目录和清单 .
3.3.3 添加图标
3.3.4 选择许可证 .
3.3.5 安装新模块 .
3.3.6 升级模块
3.4 创建新的应用程序
3.4.1 添加顶级菜单项
3.4.2 添加安全组.
3.5 添加自动化测试.
3.5.1 测试业务逻辑
3.5.2 测试访问安全性
3.6 模型层
3.6.1 创建数据模型
3.7 设置访问安全性.
3.7.1 添加访问控制安全性 .
3.7.2 行级访问规则
3.8 视图层
6
3.8.1 添加菜单项
3.8.2 创建表单视图
3.8.3 业务文档表单视图
3.8.4 添加动作按钮
3.8.5 使用组来组织表单
3.8.6 完整的表单视图 .
3.8.7 添加列表和搜索视图 .
。 。 。 。 。 。

odoo12 开发基础
3.9 业务逻辑层
3.9.1 添加业务逻辑
3.10 网页和控制器
3.11 摘要
3.11.1 问题.
3.11.2 进一步阅读.
4 扩展模块.
4.1 技术要求.
4.2 扩展图书馆应用程序.
4.3 经典模型扩展
4.3.1 将字段添加到模型.
4.3.2 修改现有字段
4.4 修改视图和数据.
4.4.1 扩展视图
4.4.2 使用 XPath 选择扩展点
4.4.3 修改数据
4.5 更多模型继承机制
4.5.1 使用原型继承复制功能
4.5.2 使用委托继承嵌入模型
4.5.3 使用 mixin 类扩展模型
4.6 扩展 Python 方法
4.7 扩展 Web 控制器和模板
4.7.1 扩展 Web 控制器
4.7.2 扩展 QWeb 模板 .
4.8 摘要
4.8.1 问题 .
4.8.2 进一步阅读
5 导入,导出和模块数据 5.1 技术要求.
7

odoo12 开发基础
5.2 了解外部标识符概念.
5.2.1 外部标识符如何工作 . 5.2.2 查找外部标识符
5.3 导出和导入 CSV 数据文件
5.3.1
5.3.2
5.3.3 CSV 数据文件中的相关记录
导出数据 导入数据
5.4 添加模块数据 5.4.1 演示数据 5.5 使用 XML 数据文件
5.5.1
5.5.2
5.5.3
5.5.4
noupdate 数据属性 用 XML 定义记录 常用模型的快捷方式 .
XML 数据文件中的其他操作
5.6 摘要
5.6.1 问题 .
5.6.2 进一步阅读
6 模型 - 构建应用数据
6.1 技术要求.
6.2 改进图书馆应用程序.
6.3 创建模型.
6.3.1 模型属性
6.3.2 模型和 Python 类
6.3.3 瞬态和抽象模型
6.3.4 检查现有模型
6.4 创建字段.
6.4.1 基本字段类型
6.4.2 常用字段属性
6.5 保留字段.
6.6 模型之间的关系.
8

odoo12 开发基础
6.6.1 多对一的关系
6.6.2 一对多的反向关系 .
6.6.3 多对多的关系
6.6.4 分层关系
6.6.5 使用参考字段的灵活关系
6.7 计算字段.
6.7.1 搜索和写入计算字段 .
6.7.2 存储计算字段
6.7.3 相关字段
6.8 模型约束.
6.8.1 SQL 模型约束 .
6.8.2 Python 模型约束 .
6.9 关于 odoo 基础模型
6.10 摘要
7 记录集 - 使用模型数据.
7.1 技术要求.
7.2 使用 shell 命令.
7.3 执行环境.
7.3.1 环境属性
7.3.2 环境上下文 .
7.3.3 修改记录集执行环境 .
7.4 使用记录集和域查询数据
7.4.1 创建记录集.
7.4.2 域表达式
7.5 访问记录集上的数据.
7.5.1 访问记录中的数据 .
7.5.2 访问关系字段
7.5.3 访问日期和时间值 .
7.5.4 转换文本表示的日期和时间
7.6 写在记录上
7.6.1 使用对象样式的值赋值进行编写 .
7.6.2 使用 write()方法编写 9

odoo12 开发基础
7.6.3 写日期和时间值
7.6.4 创建和删除记录
7.7 编写记录集 7.7.1 低级 SQL 和数据库事务
7.8 摘要 8 业务逻辑 - 支持业务流程
8.1 技术要求.
8.2 library_checkout 模块 .
8.3 使用以文档为中心的工作流程的阶段 .
8.4 ORM 方法装饰器 .
8.4.1 记录集的方法- @api.multi
8.4.2 单身记录的方法- @api.one
8.4.3 类静态方法- @api.model
8.4.4 关于 onchange 方法
8.4.5 其他模型方法装饰器 .
8.5 使用 ORM 内置方法
8.5.1 编写模型数据的方法 .
8.5.2 数据导入和导出的方法
8.5.3 支持用户界面的方法 .
8.6 消息和活动功能.
8.6.1 消息子类型 .
8.6.2 发布消息
8.6.3 添加关注
8.7 创建向导.
8.7.1 向导模型
8.7.2 向导表单
8.7.3 向导业务逻辑
8.8 使用日志消息
8.9 提出例外.
8.10 单元测试.
10

odoo12 开发基础
8.10.1 添加单元测试
8.10.2 运行测试 .
8.10.3 设置测试 .
8.10.4 编写测试用例
8.10.5 测试异常 .
。 。 。 。 。
8.11 开发工具.
8.11.1 服务器开发选项
8.11.2 调试.
8.11.3 检查并杀死正在运行的进程
8.12 摘要
8.12.1 进一步阅读. 9 外部 API - 与集成其他系统
9.1 技术要求.
9.2 对书籍进行编目的客户
9.3 在客户端计算机上设置 Python .
9.4 使用 XML-RPC 连接到 odoo API .
9.5 使用 XML-RPC 运行服务器方法
9.6 搜索和读取 API 方法.
9.7 Library 客户端 XML-RPC 接口
9.8 Library 客户端用户界面
9.9 使用 odooRPC 库.
9.10 关于 ERPpeek 客户端.
9.11 摘要
9.11.1 进一步阅读. 10 后端视图 - 设计用户界面
10.1 技术要求.
10.2 菜单项
10.3 窗口动作.
10.4 表单视图结构
11

odoo12 开发基础
10.4.1 业务文档视图
10.4.2 标题.
10.4.3 文件表
10.4.4 标题和副标题
10.4.5 对表单内容进行分组 .
10.4.6 带标签的笔记本
10.5 字段
10.5.1 字段标签
10.5.2 会话小部件 .
10.5.3 关系字段
10.6 按钮
10.6.1 智能按钮
10.7 动态视图元素
10.7.1 变化事件
10.7.2 动态属性
10.8 列表视图.
10.9 搜索视图.
10.9.1 其他视图类型
10.9.2 活动视图
10.9.3 日历视图
10.9.4 透视图
10.9.5 图表视图
10.10 摘要
10.10.1 进一步阅读. 11 看板视图和客户端 QWeb .
11.1 技术要求.
11.2 关于看板.
11.2.1 看板视图 11.3 设计看板视图
11.3.1 优先级,看板状态和颜色
11.3.2 看板卡元素.
12

odoo12 开发基础
11.3.3 看板卡布局 .
11.3.4 添加看板卡选项菜单 .
11.3.5 看板视图中的操作 .
11.4 QWeb 模板语言
11.4.1 QWeb JavaScript 评估上下文
11.4.2 字符串替换的动态属性- t-attf .
11.4.3 表达式的动态属性- t-att
11.4.4 循环- t-foreach
11.4.5 条件- t-if .
11.4.6 渲染值- t-esc 和 t-raw .
11.4.7 在变量上设置值- t-set .
11.4.8 调用并重用其他模板- t-call
11.4.9 使用词典和列表的动态属性
11.5 看板视图的继承.
11.6 自定义 CSS 和 JavaScript 资源 .
11.7 摘要
11.7.1 进一步阅读. 12 报告和服务器端 QWeb
12.1 技术要求.
12.2 安装 wkhtmltopdf
12.3 创建业务报告
12.4 QWeb 报告模板
12.4.1 在报告中呈现数据 .
12.4.2 渲染图像
12.4.3 报告计算
12.4.4 定义纸张格式
12.5 在报告中启用语言翻译
12.6 基于自定义 SQL 的报告
12.7 摘要
12.7.1 进一步阅读. 13 创建网站前端特征
13

odoo12 开发基础
13.1 技术要求.
13.2 图书馆自助服务.
13.3 我们的第一个网页
13.3.1 Hello World 使用 QWeb 模板 . 13.3.2 HelloCMS!。
13.4 建立网站.
13.4.1 添加 CSS 和 JavaScript 资源 .
13.4.2 结账清单控制器
13.4.3 结帐 QWeb 模板 .
13.4.4 结帐详细信息页面 .
13.5 摘要
13.5.1 进一步阅读. 14 部署和维护生产实例.
14.1 技术要求.
14.2 从源代码安装 odoo
14.2.1 安装依赖项
14.2.2 准备专用系统用户
14.2.3 从源代码安装
14.2.4 设置配置文件
14.2.5 多处理线程
。 。 。 。 。
14.3 将 odoo 设置为系统服务.
14.3.1 创建 systemd 服务 .
14.3.2 创建 Upstart 或 sysvinit 服务
14.3.3 从命令行检查 odoo 服务 .
14.4 设置 nginx 反向代理.
14.5 配置和实施 HTTPS
14.5.1 创建自签名 SSL 证书 .
14.5.2 在 nginx 上配置 HTTPS 访问
14.5.3 缓存静态内容
14.6 服务器和模块更新
14.6.1 创建暂存环境
14

14.6.2 更新 odoo 源代码
14.7 摘要
14.7.1 进一步阅读.
15 评估
15.1 第 1 章
15.2 第 3 章
15.3 第 4 章
15.4 第 5 章

http://www.odoogo.com/manual/odoo12-development-essentials/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容