学习网站
框架概述
多层应用
Odoo 遵循 多层架构 ,这意味着演示、业务 逻辑和数据存储是分开的。 更具体地说,它使用三层架构,表示层是 HTML5、JavaScript 和 CSS 的组合,
逻辑层独占 用 Python 编写,而数据层仅支持将 PostgreSQL 作为 RDBMS。自 15.0 版以来,
Odoo 正在积极过渡到使用自己内部开发的 OWL 框架作为其表示层的一部分。旧版 JavaScript 框架仍受支持,
但会随着时间的推移而被弃用。
模块
module
├── models
│ ├── *.py
│ └── __init__.py
├── data
│ └── *.xml
├── __init__.py
└── __manifest__.py
开发环境配置
管理Odoo服务端实例
创建Odoo插件模块
模型
模型方法
create
为模型创建一条新纪录class Demo(models.Model): _name = 'demo' def create(self,vals): return super(Demo, self).create(vals)
参数: vals 是一个{模型字段的名称:字段的值}组成的字典,可以使用模型的 create()方法创建新 record。 如果需要,odoo 将自动调用模型的 default_get()方法去补充一些必填但vals 中不存在的字段。 返回值: 新纪录
-
write
用 vals 字典参数去更新 recordset 中的所有 record 的字段 -
unlink
从数据库删除当前 recordset 中的 record, 可能抛出的异常 -
browse
在当前环境下,返回一个[ids]列表与数据库中一一对应的一个 recordset 参数可以为空,一个单独的 id,或者一个 id 序列 search
接收一个域表达式,并返回符合条件记录的记录集 order是一个数据库查询语句中ORDER BY使用的字符串,通常是一个逗号分隔的字段名列表.每个字段都可接DESC关键字,用于表示倒序排列 limit设置获取记录的最大条数 offset忽略前n条记录,可配合limit使用来一次查询指定范围记录