odoo(一)

Tiny ERP > OpenERP > odoo

odoo 官网 | 代码仓库(Github) | 官网下载 | odoo 11.0 开发文档

1
2
git clone https://www.github.com/odoo/odoo --depth 1 --branch 11.0 --single-branch odoo11
pip install -r requirements.txt

Node.js | Postgresql 下载

1
2
npm install -g less
npm install -g less less-plugin-clean-css

ps:可能会出现的 error。

依赖

ps: 需要加入系统环境变量

linux

1
2
3
4
5
6
7
8
# ubuntu 
wget https://builds.wkhtmltopdf.org/0.12.5-rc/wkhtmltox_0.12.5-0.20180604.140.rc\~6f77c46\~bionic_amd64.deb
sudo apt-get install libxfont1 xfonts-encodings xfonts-utils xfonts-base xfonts-75dpi
dpkg -i wkhtmlto...
# 测试一下
wkhtmltopdf https://www.baidu.com example.pdf
# rpm
rpm -ivh wkhtml...

启动脚本

Pycharm 设置启动脚本

  • github: odoo-bin
  • 官网下载版本: setup > odoo

Error

1
2
3
4
5
# There was a problem confirming the ssl certificate: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:661) - skipping
curl https://bootstrap.pypa.io/get-pip.py | python
# Werkzeug && PyYAML
pip install Werkzeug PyYAML
pip install --upgrade --force-reinstall reportlab

配置文件

配置模板:odoo > debian > odoo.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[options]
; This is the password that allows database operations:
; admin_passwd = admin
; admin_passwd = admin // 生产环境必须要设置
data_dir = data // 上传文件的目录
db_host = 127.0.0.1 // 数据库地址
db_port = 5433 // 端口
db_user = odoo // 用户
db_password = qweasdzxc // 密码
addons_path = addons,myaddons // app 目录,如我我们自己开发 app 就新建一单独的目录
; 多个 app 目录用 , 逗号隔开
;addons_path = H:\code\odoo11\addons,H:\code\odoo11\myaddons
;addons_path = /usr/lib/python3/dist-packages/odoo/addons # linux
bin_path=<nodejs path>

指定配置文件:

在开发的过程中配置多个配置文件

1
2
3
python odoo-bin -c <目录名>/<配置文件>.conf 
# 重启自动升级指定的模块,多个模块用 , 号来分隔
python odoo-bin -c <目录名>/<配置文件>.conf -u <appname>

保存当前 odoo 全部配置和一些默认值

1
python odoo-bin -s

创建 app

1
2
odoo-bin scaffold <module name> <where to put it>
python odoo-bin scaffold firstapp myaddons

安装自定义模块

  1. 创建完成以后会在 odoo 的模块列表里面出现,直接安装
  2. 如果没有改动 .py 文件可直接点升级,否则就需要重启odoo
  3. 菜单是以 xml 的形式,包含应用在标题栏和菜单栏的名称,菜单的父子关系
  4. models 已经存在数据,添加一个新的字段,并且设置了required=True,那么odoo在生成数据表的时候并不会真的把这个字段设置为not null,如果要改正这一状况,就需要把表删除,重新建表

odoo有很多配置是使用xml文件配置的,所有的xml文件都是保存在数据库中的,升级app的时候如果总是出现报错可以进入相应的数据库中删除相应的记录ir_ui_view