结构说明
todo
├── __init__.py
├── __manifest__.py
├── controllers
│ ├── __init__.py
│ └── controllers.py
├── demo
│ └── demo.xml
├── models
│ ├── __init__.py
│ └── models.py
├── security
│ └── ir.model.access.csv
└── views
├── templates.xml
└── views.xml
- __init__.py 在 Python 中,每一个包(package)都包含一个
__init__.py
文件,而一个 Odoo 的模块,同时也是一个 Python 包 - __manifest__.py 用于声明一个 Odoo 模块以及指定它的元数据(metadata),文件里只包含了一个单独的 Python 字典,里面默认只列出了 9 项最基本的配置项,包含了模块(或应用)名,模块的简介和详细介绍,作者和网站,模块的所属分类、版本,还有就是这个模块依赖于其他的哪些 Odoo 模块,需要加载哪些数据文件以及演示数据
下面要讲的是 Odoo 开发中的核心部分MVC
(同时也是大部分 Web 应用开发所采用的经典模式),MVC 分别代表的是Model
(模型)、View
(视图)和Controller
(控制器)。
搭建odoo
vscode 配置
vscode Launch.json配置
{
"name": "odoo_unb",
"type": "python",
"request": "launch",
"program": "/mnt/d/code/odoo-13.0/odoo-bin",
"console": "integratedTerminal",
"args": [
"-c",
"/mnt/d/code/odoo-13.0/odoo.conf"
],
"debugOptions": [
"WaitOnAbnormalExit",
"WaitOnNormalExit",
"RedirectOutput"
],
}
odoo启动命令 python odoo-bin -c xxx.conf
odoo.conf
[options]
admin_passwd = admin
db_host = localhost
db_port = 5432
db_user = odoo
db_password = 123456
addons_path = /mnt/d/code/odoo-13.0,/mnt/d/code/odoo-13.0/addons,/mnt/d/code/odoo-13.0/odoo/addons,/mnt/d/code/odoo-13.0/studio
limit_time_real = 144000
limit_memory_soft = 3221225472
odoo 小知识点
@api.model - 装饰的函数里的self只表示模型,不包含记录
self.ensure_one() - 保证self只有一条记录,否则报错
参考资料
odoo笔记
odoo教程-简书
odoo教程-思否
odoo教程-博客园
odoo大v社
财务知识
Domain条件表达式写法总结
odoo进阶资料
Odoo 小书
odoo中文社区