随笔分类 - odoo
odoo开发教程及经验汇总
摘要:创建模块目录和声明文件 现在就准备好了~/odoo-dev/custom-addons 目录,已正确添加至 addons 路径,Odoo 也就可以找到这里的模块。Odoo 自带一个 scaffold 命令可自动创建新模块目录,其中会包含基础结构。此处并不会使用该命令,而是手动创建。通过以下命令可以了
阅读全文
摘要:一个插件模块是包含实现一些 Odoo 功能的文件夹,可以添加新功能或修改已有的功能。插件目录必须含有一个声明或描述文件__manifest__.py,以及其它模块文件。一部分模块插件在 Odoo 中以 app 的形式出现,通常都会带有顶级菜单项。它们为 CRM 或HR 这样的功能区添加核心元素,因此
阅读全文
摘要:Odoo 开发通常都需要创建自己的插件模块。本文中我们将通过创建第一个应用来一步步学习如何在 Odoo 中开启和安装这个插件。我们将从基础的开发流学起,即创建和安装新插件,然后在开发迭代中更新代码来进行升级。Odoo 采用类 MVC(Model-View-Controller)的结构,我们将深入到各
阅读全文
摘要:服务器端开发者模式 为便于开发者,Odoo 有一个–dev=all 参数可激活一些开发者友好的功能。“ 注意:Odoo 10 的修改–dev=…参数是在 Odoo 10 中引入的,它取代了此前版本中更简单、功能也更少的–debug 参数”这启用了一些有用的功能可加快开发流程,最重要的如下:⚫ 在保存
阅读全文
摘要:配置插件(add-ons)路径 社区贡献的插件可以打包成 Python 库,发布到 Python 包索引(PyPI -Python Package Index),然后像其它库一样使用 pip 安装。为了能使用这一方法,Odoo 自动添加了 sitepackages/文件夹至插件配置路径,用于安装库
阅读全文
摘要:维护多个 Odoo 版本的代码在 Odoo 开发中很常见,需要整理一下来保持项目在同一台开发机器上并行。改变版本有时会需要上下文的切换。比如,现在 Odoo 的启动执行文件是 odoobin,而在老版本中是 odoo.py。迁移到 Python 3 后又更易混淆了,我们要知道是选择python/p
阅读全文
摘要:在 Odoo 实例中产生新的模块并安装,对于初学者总会容易搞不清。下面一起来熟悉这一点。 查找社区模块 网络上有很多 Odoo 模块,Odoo 应用商店可以下载一系列模块安装到系统中。另一个重要的资源是 Odoo 社区联盟(OCA – Odoo Community Association)维护的模块
阅读全文
摘要:修改监听端口 –http-port=(或-p)参数可以修改实例的监听端口(默认端口 8069),不同的端口可以让我们在同一台机器上运行多个实例。“ 注意: Odoo 11 的修改在 Odoo 11 中引入–http-port 参数以替代此前版本使用的–xmlrpc-port”下面就可以做个尝试,打开
阅读全文
摘要:其它服务器配置项 Odoo 服务还支持一些其它参数,可通过–help 来查看更多参数: ~/odoo-dev/odoo/odoo-bin --help 我们在下面的部分将会学习一些重要参数,首先我们先学习下如何把当前使用参数保存到配置文件中。 Odoo 服务配置文件 大多数的参数都可以保存到配置文件
阅读全文
摘要:前面我们学习了如何通过命令行创建和初始化 Odoo 数据库。管理数据库还有更多的命令值得我们学习。虽然 Odoo 服务可以自动地进行数据库管理, 我们还是可以使用如下命令来手动创建PostgreSQL 数据库: createdb MyDB 更有趣的是, Odoo 可以通过–template 参数拷贝
阅读全文
摘要:初始化新的 Odoo 数据库 要按照 Odoo 的数据模式创建和初始化 Odoo 数据库,我们应使用-d 参数运行 Odoo 服务: ~/odoo-dev/odoo/odoo-bin -d testdb “ 注意: Odoo 9 的修改从 Odoo 9 开始,如果数据库不存在会被自动创建。但在 Od
阅读全文
摘要:源码安装 Odoo 为便于管理,我们将在家目录下创建一个/odoo-dev 目录作为工作目录。在本系列文章中我们均假设 Odoo 安装在/odoo-dev 目录下。Odoo 使用的是 Python 3(3.5 或之后的版本),那么在命令行中我们将不再使用 python 和pip,而是用 python
阅读全文
摘要:在本系列文件第一章使用开发者模式快速入门 Odoo 12 中,我们介绍了快速运行 Odoo 的各种方式,本文中我们将更深入一步,直接通过源码来安装、运行 Odoo。Odoo 使用 Python 编程语言,数据存储使用 PostgreSQL 数据库,这是对 Odoo 主机的两大要求。要使用源码运行 O
阅读全文
摘要:在 Windows 系统中,最简单的方案是使用 Windows 10 自带的 Linux 子系统(WSL –Windows Subsystem for Linux)。通过子系统,我们可以在 Windows 内运行 Ubuntu 系统,足以应对 Odoo 开发所需的一切。更多 WSL 相关知识请参考官
阅读全文
摘要:在更深入了解 Odoo 开发之前,我们应配置好开发环境并学习相关的基础管理任务。本文中,我们将学习创建 Odoo 应用所需用到的工具和环境配置。这里采用 Ubuntu 系统来作为开发服务器实例的主机,可以是云服务器、本地服务器或者 PC 上的虚拟机。本文主要内容有:⚫ 配置主机,可以是 Ubuntu
阅读全文
摘要:搜索视图 我们可以为列表视图右上角的搜索框预设一些过滤项和分组选项, Odoo 把这也视为视图元素,所以可以像列表视图和表单视图一样在 Views 中添加记录来定义。想必现在大家已经非常熟悉了,在菜单中点击 Settings > Technical> User Interface > Views 或
阅读全文
摘要:创建列表视图步骤如下: 1、 点击 Settings > Technical > User Interface > Views,点击 Create 进入视图编辑页面,填入如下值:⚫ View Name: To-do List View⚫ View Type: Tree⚫ Model: x_todo_
阅读全文
摘要:现在有了存储任务清单的模型,应在用户界面中显示它,添加菜单项可实现这一点。我们这里创建一个顶级菜单项直接打开任务清单,一些像联系人(Contacts)这样的应用采取了这种方式,但另外一些则使用了在顶栏中的子菜单项。 “ 注意: Odoo 12 的修改社区版中第一级以下的菜单项也像企业版中一样显示在了
阅读全文
摘要:安全记录规则 在对模型赋予访问权限时,默认用户可以访问到他的所有记录。但有时我们要限制每个用户所能访问的特定记录。通过记录规则可以实现这一点,通过定义 domain 过滤器来对读和写操作进行控制。比如我们这里的 to-do 应用,任务项应为用户私有,我们不希望其他用户看到自己的记录。需要添加记录规则
阅读全文
摘要:Odoo 自带有权限控制机制,用户仅能使用被授权了的功能。这就意味着我们自建的库功能不对普通用户甚至是管理员开放。 “ 注意: Odoo 12 的修改管理员用户现在也像其它用户一样受权限控制所限制。在此前的 Odoo 版本中, admin 都作为特权用户不受权限规则控制。而新版中我们需要进行授权管理
阅读全文