新建最简应用
先启用开发人员模式。
新建一个没有菜单项的空壳应用(模块/插件):
必须至少包含 2 个文件: __manifest__.py
文件和文件 __init__.py
。
该 __init__.py
文件目前可以保持为空,我们将在下一章中返回。另一方面,该 __manifest__.py
文件必须描述我们的模块,并且不能保持为空。它唯一的必填字段是 name
,但它通常包含更多信息。
模型与ORM对象关系映射
Odoo的一个关键组件是ORM层。此层避免了手动编写大多数 SQL,并提供了可扩展性和安全性服务。
业务对象被声明为 Python 类扩展 Model。
可以通过在模型定义中设置模型属性来配置模型。最重要的属性是 _name
,它是必需的,它定义了 Odoo 系统中模型的名称。以下是模型的最低定义:
from odoo import models
class TestModel(models.Model):
_name = "test_model"
此定义足以让 ORM 生成名为 test_model
的数据库表。按照惯例,所有模型都位于一个 models
目录中,每个模型都在自己的 Python 文件中定义。
模型字段
字段用于定义模型可以存储的内容及其存储位置。字段定义为模型类中的属性:
from odoo import fields, models
class TestModel(models.Model):
_name = "test_model"
_description = "Test Model"
name = fields.Char()
该 name
字段是一个 Char类型,
表示为 Python unicode str
和 SQL VARCHAR
的字段。
字段分为两大类:“简单”字段,即直接存储在模型表中的原子值,以及“关系”字段,用于链接(相同或不同模型)的记录。
简单的字段示例是 Boolean
、 Float
、 Char
、 Text
和 Date
Selection
。
Odoo在所有模型中会自动创建一些默认字段 ,这些字段由系统管理,无法写入,但如果有用或必要,可以读取它们,比如:ID, 日期,用户等