首页

来自Odoo大V社-odoo中文开发手册
95102545讨论 | 贡献2017年3月26日 (日) 11:02的版本 标签笔记本

跳转至: 导航搜索

目录

Odoo 大V社概况

Odoo 大V社成员来自五湖四海,他们热爱开源,无私奉献,甘于把自己的业余时间投入到公益的 Odoo 相关资料的整理中去,
为 Odoo 在中国区的推广无私奉献。
odoo 中文书籍交流群:343593855(验证信息:参与odoo中文书籍)

Odoo中文版技术书籍项目

  1. 项目一期目标: Odoo 中文开发手册
  2. 项目性质:公益,保留所有参与人员的署名权;项目成果归全人类
  3. 项目使命:Odoo 中文书籍编写整理,推倒 odoo 语言壁垒,助力 odoo 中国推广
  4. 项目成员:
    1. 统筹:
      • 01.广州-唐振宽(稿件初审) 02.广州-黄伟杰(任务分派) 03.广州-彭 明(进度跟踪)
    2. 审核:
      • 01.苏州-刘春涛(ChinaMaker)
    3. 成员:
01.苏州时 威 02.苏州庄春梅 03.杭州胡 恒 04.广州陈厚源
05. 06.苏州孙保锁 07.成都曾发军 08.深圳季蜗牛
09.北京乔明洋 10.香港胡sir 11.上海高守庆 12.上海赵祥涛
13.上海罗英川布 14.台北蘇sir 15.苏州-n37r06u3 16.石家庄-leo

前言

第一章 Odoo 入门

安装Odoo主机服务器

准备Debian 主机

为创建Odoo用户帐户

从源码安装Odoo

创建新的Odoo应用数据库

管理你的Odoo数据库

Odoo 版本

更多服务器选项

Odoo 服务器配置文件

更改侦听端口

数据库的过滤选项

管理服务器日志消息

在工作站上进行开发

使用Linux 文本编辑器

安装和配置 Samba

激活开发者工具

安装第三方模块

查找社区模块

配置 addons 路径

更新应用程序列表

第一章 小结

第二章 构建您的第一个应用程序

基本概念

了解应用程序和模块

修改和扩展模块

创建模块的基本框架

关于许可证

添加 addons 路径

安装新模块

升级模块

服务器开发模式

模型层

创建数据模型

加入自动化测试

视图层

添加菜单选项

创建窗体视图

业务凭证窗体视图

添加动作按钮

用groups来组织forms

完整的Form视图

添加列表和搜索视图

业务逻辑层

添加业务逻辑

添加测试

设置安全访问权限

测试安全访问权限

添加访问控制安全

Row-level访问规则

更好的模块描述

第二章 小结

第三章 继承–扩展现有的应用程序

向待办事宜应用程序添加共享功能

扩展模型

向模型中添加字段

修改现有字段

修改模型的方法

扩展视图

扩展表单视图

扩展树视图和搜索视图

更多的模型继承机制

使用原型继承复制特征

使用委托继承嵌入模型

添加社交网络功能

修改数据

修改菜单和操作记录

修改安全记录规则

第三章 小结

第四章 模块数据

了解外部标识符

寻找外部标识符

导出和导入数据

导出数据

导入数据

CSV数据文件相关记录

模块数据

演示数据

XML数据文件

数据的noupdate属性

在XML里定义记录

设置字段值

使用表达式设置值

设置字段值的关系

常用模型的快捷键

XML数据文件的其它操作

删除记录

触发功能和工作流

第四章小结

第五章 模型 - 结构化应用程序数据

将应用程序特性组织到模块中

todo_ui模块介绍

创建模型

模型属性

模型和Python类

瞬态和抽象模型

检查现有模型

创建字段

基本字段类型

公共字段属性

特殊字段名称

模型之间的关系

多对一关系

多对多关系

一对多反向关系

分层关系

使用动态关系的参考字段

计算字段

在计算字段上搜索和写入

存储计算字段

关联字段

模型约束

第五章 小结

第六章 视图 - 设计用户界面

使用XML文件定义用户界面

菜单项

窗口动作

上下文和域

上下文数据

域表达式

窗体视图

处理同一类型的几个视图

业务文档视图

业务应用程序通常是关于仓库产品、财会部门发票等记录的系统。大部分这些记录信息都可用纸质文档呈现。为了更好的用户体验,表单视图都是在模仿这些纸质文档。 例如在我们的系统中,我们可以认为 “to_do task”包含需要填写的纸制表单。 我们将提供一个遵循该设计思想的表单视图。

要增加一个具有业务文档视图基本骨架的XML视图,我们需要编辑“views/todo_views.xml”文件,并置于文件顶部。

<record id="view_form_todo_task_ui" model="ir.ui.view"> <field name="model">todo.task</field> <field name="priority">15</field> <field name="arch" type="xml"> <form> <header> </header> <sheet> </sheet>

<field name="message_follower_ids" widget="mail_followers" /> <field name="message_ids" widget="mail_thread" />

</form> </field> </record>

 视图名称是可选的,如果缺少将自动生成。为了简单,我们省略了视图记录中的<field name="name">元素。
 业务文档通常包含3大部:标题状态栏、主要内容表单、底部历史信息和通讯内容。在底部的历史和通信部分,可以使用邮件插件模块提供的社交网络小部件。为了可以使用它们,我们的模型需要继承“mail.thread”混合模型。详情见第3章 继承–扩展现有的应用程序。

header头部

sheet工作表

标题和副标题

 <group>元素之外的字段 是不会自动呈现标签的。这同样适用于标题元素,所以<label for"..."/>元素经常被用来呈现标题。

虽然会带来一些额外的工作,但是这样做的优势是:对标签显示具有更多的控制。

常规的HTML,包括css-stylel元素,也可以用来制作闪光标题。为了实现最佳效果,标题应该通过oe_title嵌入在
中。
 下边是一个扩展的sheet元素,它的标题添加了一些额外字段作为副标题。

<sheet><div class="oe_title"> <label for="name" class="oe_edit_only"/> <h1><field name="name"/></h1> <h3> <span class="oe_read_only>By</span> <label for="user_id" class="oe_edit_only"/> <field name="user_id" class="oe_inline" /> </h3> </div> <!-- More elements will be added from here... --> </sheet>


 在这里,我们可以看到,我们使用常规的HTML元素,如div,span,H1,和H2。<label>元素允许我们控制何时何地展示。‘for’属性告诉我们获取标签文本的字段。另一种可能性是使用字符串属性来提供特定文本。我们的实例使用了class="oe_edit_only",这样只有在编辑模式可见。
 在某些情况下,如合作伙伴或产品,需要有代表性的图像显示在左上角。假设我们有一个my_image二进制字段,我们可以在<div class=“oe_title”>行前添加: <field name="my_image" widget="image" class="oe_avatar"/> 。

智能按钮区域

 在右上角 有一个隐藏的按钮箱.8.0版本引入了智能按钮,当被点击时,可以呈现为矩形的统计指示.

我们可以 在"oe_title" DIV 后添加按钮框,如下:

 按钮的容器是一个div。div具有oe_button_box样式以及使其靠表右侧对齐的oe_right样式。我们将在后边章节进一步介绍按钮,学习添加按钮到按钮箱中。

对表单中的内容进行分组

 表单的主要内容应该使用<group>标签组织,group标记在画布中插入两列,其中的字段标签默认会被展示。字段值、字段标签需要两列,所以在一个组添加字段将垂直叠放。如果我们将两个<group>元素置于一个顶部group中,我们能够得到两列并排的字段标签。
 继续我们的表单视图,我们将在智能按钮箱后边添加主要内容。

<group name="group_top"> <group name="group_left"> <field name="date_deadline" /> <separator string="Reference" /> <field name="refers_to" /> </group> <group name="group_right"> <field name="tag_ids" widget="many2many_tags"/> </group> </group>

 这是一个很好的做法,分配一个名称给组标签,以便它更容易后期被引用并扩展视图(由您或其他开发人员)。字符串属性也是允许的,如果设置,则用于显示节标题。在一个组内,<newline>将强制生成一个新行。下一个元素将在组的第一列中呈现。附加部分标题可以使用<separator>元素添加到组内。

提示

 从开发者菜单选项切换表单布局,它绘制了每个组的边框线,以便更好地了解当前表单布局。

使用col和colspan属性,我们可以更好的控制组元素布局。col属性可以指定组中包含的列数,默认值是2,它也可以改为任何数字。双数的效果更好,因为每一个字段加起来都要两列,用于标签加字段值。组内元素,包括<filed>元素,可以使用colspan属性设置一个特定的列数,默认都是一列。

标签笔记本

查看语义组件

字段

字段的标签

关系字段

字段小部件

按钮

智能按钮

动态视图

更改事件

动态属性

列表视图

搜索视图

日历视图

图形和枢轴视图

其他视图类型

第六章 小结

第七章 ORM应用逻辑 - 支持业务流程

创建向导

向导模型

向导窗体

向导业务逻辑

记录

提出异常

向导中的助手操作

使用ORM API

方法装饰器

覆盖ORM默认方法

RPC和Web客户端调用的方法

shell命令

服务器环境

修改执行环境

事务和低级SQL

使用记录集

查询模型

单身人士

写在记录上

使用时间和日期

对记录集的操作

操作记录集

使用关系字段

使用关系字段

==第七章 小结==