企业项目管理、ORK、研发管理与敏捷开发工具平台

网站首页 > 精选文章 正文

Odoo开发环境(odoo开发文档)

wudianyun 2025-05-08 06:59:30 精选文章 18 ℃

在正式进入Odoo系统开发前,需要对开设置好开发环境,包括:Odoo系统的安装、代码编辑器、数据库管理工具、Python调试环境等。

一、Odoo系统安装

参见前一篇文章:windows11环境下源码安装Odoo16系统

二、代码编辑器

常用的代码编辑器有VSCode(
https://code.visualstudio.com)、VSCodium(https://vscodium.com)、PyCharm(
https://www.jetbrains.com/pycharm/)或者 Sublime Text(
https://www.sublimetext.com)、Vim等。

可以选择以上熟悉的代码编辑器之一。

在代码开发环境中,配置Linter非常重要。Linter用于检查程序的文体、语句的语法和句法等语法和语义警告或错误,并即时标注出来。例如,标注声明了但没使用的多余变量、有语法错误的语句等等。Linter是程序开发的辅助工具。对于不同的开发语言,有相对应的实现。例如: Python的flake8、JavaScript 的 jshint、CSS 的 csslint、Ruby的 ruby -wc等。

Odoo 源代码尽力遵守 Python 和 JavaScript 的标准,但有些标准可以忽略。

对于Python,odoo遵循PEP8(PEP 是 Python Enhancement Proposal 的缩写,通常翻译为 Python 增强提案,
https://peps.python.org/pep-0008/ )规范,忽略以下规则:

  • E501: line too long
  • E301: expected 1 blank line, found 0
  • E302: expected 2 blank lines, found 1

对于JavaScript,odoo遵循ESLint规范,详细参考:
https://github.com/odoo/odoo/wiki/Javascript-coding-guidelines#use-a-linter 。

三、PostgreSQL的管理员工具

PostgreSQL是一款功能强大的开源关系型数据库管理系统,被广泛应用于各种应用场景。用户可以使用命令行来管理PostgreSQL数据库。为了更方便地管理和操作PostgreSQL数据库,图形用户界面(GUI)工具成为开发人员和数据库管理员的重要选择,如 pgAdmin 或者 DBeaver。

(1) pgAdmin

pgAdmin(https://www.pgadmin.org/ )是PostgreSQL官方推荐的数据库管理工具,也是一个流行的免费GUI工具。它提供了一套完整的功能,使用户能够方便地管理和操作他们的PostgreSQL数据库。pgAdmin具有以下特点:

  • 官方支持:作为PostgreSQL官方推荐的工具,pgAdmin提供了最新的PostgreSQL版本的全面支持,并与PostgreSQL数据库紧密集成。
  • 多种功能:pgAdmin提供了强大的查询编辑器、表和视图管理、用户和权限管理、备份和恢复、监控和性能优化等功能,满足了用户对数据库管理的各种需求。
  • Web和桌面版本:pgAdmin提供了基于Web的版本和桌面版本,用户可以根据自己的偏好选择适合自己的版本进行使用。
  • 跨平台支持:pgAdmin可在多个操作系统上运行,包括Windows、macOS和Linux,使用户能够在不同的平台上使用相同的工具。

(2) Dbeaver

DBeaver是一个功能强大且流行的开源数据库管理工具,支持多种数据库系统,包括PostgreSQL。它提供了一个直观的用户界面,使用户能够轻松地连接到PostgreSQL数据库并执行各种任务。DBeaver具有以下特点:

  • 跨平台支持:DBeaver可在多个操作系统上运行,包括Windows、macOS和Linux,使用户可以在不同的工作环境中无缝切换。
  • 多种功能:DBeaver提供了强大的查询编辑器、数据导入和导出、数据库对象管理、事务处理和视图编辑等功能,满足了用户在数据库管理和开发方面的需求。
  • 直观的界面:DBeaver的用户界面简洁直观,使用户能够轻松浏览和操作数据库对象,并提供了丰富的可定制选项。
  • 插件支持:DBeaver支持插件扩展,用户可以根据自己的需求添加额外的功能和集成其他工具。

在Odoo系统环境下,建议使用Unix套接字连接来连接GUI应用程序和数据库。参考以下配置参数:

  • 主机名/地址:127.0.0.1
  • 端口: 5432
  • 用户名: $USER

四、Python调试

当面对odoo系统代码在运行过程中出现错误,或者试图理解代码运行的机制时,简单地打印输出可以解决很多问题,但是一个合适的调试器可以节省很多时间。

调试器可以分为两类:一类是基于Python库的调试器。经典的Python库调试器有:pdb、pudb 和 ipdb。另一类是编辑器的调试器。

在下面的示例以ipdb为例,简单介绍调试器的安装、使用。

  1. 安装库:
pip install ipdb
  1. 放置触发器(断点):
import ipdb ; ipdb.set_trace()
Example
def copy(self,default=None):
import ipdb ; ipdb.set_trace()
self.ensure_one()
chosen_name=default.get('name') if default else ' '
new_name=chosen_name or _('%s (copy)') % self.name
default=dict( default or { }, name=new_name)
return super(Partner,self).copy(default)

ipdb调试命令列表:

h(elp) [command]

如果没有提供参数,则打印可用命令的列表。如果提供了命令作为参数,则打印有关该命令的帮助信息。

pp expression

使用 pprint模块对 expression的值进行漂亮的打印。

w(here)

打印堆栈跟踪,最近的帧在底部。

d(own)

将当前帧在堆栈跟踪中向下移动一级(到一个较新的帧)。

u(p)

将当前帧在堆栈跟踪中向上移动一级(到旧帧)。

n(ext)

继续执行,直到当前函数中的下一行被执行或函数返回。

c(ontinue)

继续执行,只有在遇到断点时才停止。

s(tep)

执行当前行。在可能的第一个机会停止(在被调用的函数中或在当前函数的下一行)。

q(uit)

退出调试器。正在执行的程序被中止。

五、其他配置

(1)源代码管理

源代码管理(SCM) 工具是一种软件应用程序,它提供了一个集中位置来存储、管理和版本控制源代码文件和其他软件开发工件。当多个开发人员对同一文件进行更改时,它允许开发人员团队跟踪更改、协作处理功能并解决冲突,从而帮助开发人员团队在代码库上协同工作。

SCM 工具的示例包括 Git、Subversion (SVN)、Mercurial 和 Microsoft Team Foundation Server (TFS)。这些工具通常提供版本控制、分支和合并支持、问题跟踪以及与持续集成和部署 (CI/CD) 系统集成等功能。因此,使用 SCM 工具可以极大地提高软件开发过程的协作性、效率和可靠性,使其成为现代软件开发工作流的重要组成部分。

以Git为例,一些日常工作中有用的 Git 命令。

  • 切换分支:
    切换分支时,两个仓库(odoo 和 enterprise)必须同步,即两者都需要在同一个分支中。
cd$HOME/src/odoo
git switch 16.0
cd$HOME/src/enterprise
git switch 16.0
  • 获取并变基:
cd $HOME/src/odoo
git fetch --all --prune
git rebase --autostash odoo/16.0
cd $HOME/src/enterprise
git fetch --all --prune
git rebase --autostash enterprise/16.0

Tags:

最近发表
标签列表