Odoo 12开发之导入、导出以及模块数据

本文为最好用的免费ERP系统Odoo 12开发手册系列文章第五篇。

大多数Odoo 模块的定义,如用户界面和安全规则,实际是存储在对应数据表中的数据记录。模块中的 XML 和 CSV 文件不是 Odoo 应用运行时使用,而是载入数据表的手段。正是因为这个原因,Odoo 模块的一个重要部分是在文件中放入数据以在插件安装时将其载入数据库。

模块可以包含初始数据和演示数据,可通过数据文件将它们加入模块。此外,了解 Odoo 数据的格式对于在项目实施上下文中导入导出业务数据也非常重要。

本文的主要内容有:

  • 理解外部标识符的概念
  • 导入导出数据文件
  • 使用 CSV 文件
  • 添加模块数据
  • 使用 XML 数据文件

Read More

Odoo 12 开发之模块继承

本文为最好用的免费ERP系统Odoo 12开发手册系列文章第四篇。

Odoo 的一个强大功能是无需直接修改底层对象就可以添加功能。这是通过其继承机制来实现的,采取在已有对象之上修改层来完成。这种修改可以在不同层上进行-模型层、视图层和业务逻辑层。我们创建新的模块来做出所需修改而无需在原有模块中直接修改。

上一篇文章中我们从零开始创建了一个新应用,本文中我们学习如何通过继承已有的核心应用或第三方模块来创建新的模块。实现以上本文将主要涵盖:

  • 原模型扩展,为已有模型添加功能
  • 修改数据记录来继承视图,添加功能或修改数据来修改其它模块创建的数据记录
  • 其它模型继承机制,如代理继承和 mixin 类
  • 继承 Python 方法来为应用业务逻辑添加功能
  • 继承 Web 控制器和模板来为网页添加功能

Read More

Odoo 12 开发之创建第一个 Odoo 应用

本文为最好用的免费ERP系统Odoo 12开发手册系列文章第三篇。

Odoo 开发通常都需要创建自己的插件模块。本文中我们将创建我们将通过创建第一个应用来一步步学习如何在 Odoo 中开启和安装这个插件。我们将从基础的开发流学起,即创建和安装新插件,然后在开发迭代中更新代码来进行升级。

Odoo 采用类 MVC(Model-View-Controller)的结构,我们将深入到各层来实施一个图书应用。本文主要内容有:

  • 创建一个新的模块,用来实施相关功能
  • 添加应用的特性功能:顶级菜单项和安全组
  • 添加一个一开始会失败但在项目完成时成功运行的自动化测试
  • 实施模型层,定义应用的数据结构和相关访问权限
  • 实施后台视图层,编写内部用户界面
  • 实施业务逻辑层,支持数据验证和自动化
  • 实施 web 层,展示访客和内部用户的用户界面

Read More

Odoo 12开发之开发环境准备

本文为最好用的免费ERP系统Odoo 12开发手册系列文章第二篇。

在更深入了解 Odoo 开发之前,我们应配置好开发环境并学习相关的基础管理任务。本文中,我们将学习创建 Odoo 应用所需用到的工具和环境配置。这里采用 Ubuntu 系统来作为开发服务器实例的主机,可以是云服务器、本地服务器或者PC 上的虚拟机。

本文主要内容有:

  • 配置主机,可以是 Ubuntu系统或 PC 机上的 Linux 子系统
  • 使用源码安装 Odoo,包括数据库和系统依赖的安装
  • 管理 Odoo 数据库(创建、删除和拷贝)
  • 配置 Odoo 服务器选项
  • 查找并安装社区插件
  • 使用虚拟环境管理 Odoo 不同版本和项目
  • 开启服务端开发者模式简化开发任务

Read More

使用开发者模式快速入门 Odoo 12

本文为最好用的免费ERP系统Odoo 12开发手册系列文章第一篇。

Odoo提供了一个快速应用开发框架,非常适合创建商业应用。这类应用通常用于保留业务记录,增删改查操作。Odoo 不仅简化了这类应用的创建,还提供了看板、日历、图表等视图的丰富组件,用于创建好看的用户界面。

本文主要内容有:

  • 引入本文使用的学习项目:to-do (任务清单)应用
  • 理解 Odoo 的结构、版本和发布,了解使用 Odoo 的相关知识
  • 准备一个 Odoo 的基本工作环境,有如下选项:
    • 在线Odoo
    • Windows 一键安装包
    • Docker
  • 激活开发者模式,在用户界面中展示所需使用的工具
  • 修改已有模型,添加字段,常用自定义快速入门
  • 创建自定义数据模型,为我们的应用添加新的数据结构
  • 配置权限,让指定用组组访问应用的功能
  • 创建菜单项,在用户界面中展示新的数据模型
  • 创建用户界面的基本组件:列表、表单、搜索视图

Read More

最好用的免费ERP系统Odoo 12开发手册

2018年还剩两天,果然我这个重度拖延症患者的 Odoo 11系列(最好用的免费ERP系统Odoo 11开发指南)还没更新完,而快速迭代的 Odoo 早已进入版本号12的时代。国内 Odoo社区拥抱新版本的速度还是很快的,虽然有功能上的诟病也有对官方文档错误的抱怨但生产环境采用 Odoo 12的也是越来越多了,据说单号版本的宿命就是会被快速遗忘。于是本人又特别没有出息地迅速从Packt上购入了Odoo 12 Development Essentials – Fourth Edition,用于新一轮的研究。

好了,闲言少絮,换个标题重新来过。

本手册包含五个部分,首先是 Odoo 框架的概述:创建开发环境并一起开发第一个 Odoo 应用。在对 Odoo 主要组件渐渐熟悉后,我们将深入更进一步的细节-模型、业务逻辑、视图这三个主要应用层。最后我们需要把应用部署到生产环境、进行维护,这将在最后一章进行讲述。

Read More

Odoo高级服务端开发技巧

这是Odoo系列文章的第九篇,完整目录请见最好用的免费ERP系统Odoo 11开发指南

以下开发均假设读者已完成第八篇的代码,并且所有代码更新后均需自行更新方会在客户端看到变化。如未阅读该篇,请参考代码:Chapter 8

本文主要内容有

  • 修改运行指定动作用户
  • 以变更的上下文调用方法
  • 执行原生 SQL 语句
  • 为用户编写向导
  • 定义 onchange 方法
  • 在服务端调用 onchange 方法
  • 基于 SQL 视图定义模型

修改运行指定动作用户

Read More

Odoo打造微信小程序在线商城

小程序从2016年内测至今已为人熟知,很多商家也都有了自己的小程序商城,今天我们就使用 Github 上的项目和大家一起使用 Odoo 快速搭建一个属于您自己的小程序在线商城

 

1、下载oejia_weshop(Odoo 微信小程序商城模块)解压到你自己的 Odoo 本地 addon 目录下,如 local-addons 或 myaddons,重新启动 Odoo 服务

  • 首先检查这几个包是否已正常安装(pip list):xmltodict、pycrypto、itsdangerous,否则会提示
  • 检查 PostgreSQL版本,在该模块下我们可以看到 data文件夹下所准备的数据库插入语句都包含ON CONFLICT DO NOTHING,这个需要在9.5以后的版本才支持,而据 Alan 测试CentOS 默认 yum 包安装的 PostgreSQL 版本仅为9.2,备份及升级请参考:PostgreSQL使用汇总-PostgreSQL备份升级一节

Read More

Odoo调试与自动化测试

这是Odoo系列文章的第八篇,完整目录请见最好用的免费ERP系统Odoo 11开发指南

以下开发均假设读者已完成第七篇的代码,并且所有代码更新后均需自行更新方会在客户端看到变化。如未阅读该篇,请参考代码:Chapter 7

本文主要内容

Read More