查看“模型和Python类”的源代码
←
模型和Python类
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看并复制此页面的源代码:
Odoo模型由Python类表示。在前面的代码中,有一个基于models.Model模型的Python类Stage,它定义了新的odoo模型: todo.task.stage. Odoo模型被保存在一个中央注册中心,旧的Odoo版本中也被称为池。它是一个字典,它可以引用实例中可用的所有模型类,并且它可以被一个模型名引用。具体来说,模型方法代码中可以通过 self.env['x'] 获取一个代表model x的类的引用。 您可以看到,模型名称很重要,因为它们是用于访问注册中心。模型名称的约定规则是使用包含点的小写字母列表,如todo.task.stage。核心模块的其他例子有project.project, project.task, 或者 project.task.type。我们应该用单数形式todo.task 而不是todo.tasks。由于历史原因,有些核心模型没有遵循这些,例如res.users,但是规则并非如此。 模型名称必须是全局唯一的。正因为如此,第一个词应该对应于该模块涉及到的主要应用程序。在我们的例子中是 todo,核心模型的例子有 project, crm, 或者 sale. 另一方面 Python的类 在本地的python文件声明,用于它们的标识符仅对该文件中的代码有效。基于此,类标识符并没有要求在相关主应用程序中前置声明。所以我们为 todo.task.stage 命名类stage 是没有问题的。在其他模块中,不存在与可能的类发生冲突的风险。 类标识符可以使用两种不同的约定规则:snake_case或CamelCase。从历史上看,Odoo的代码使用了snake_case的案例,而且仍然可以找到使用这个约定的类。但是趋势是使用 CamelCase,因为它是Python标准定义的“PEP8”编码惯例。您可能已经注意到我们使用的是后一种形式。 上一节:[[模型属性]] 下一节:[[瞬态和抽象模型]]
返回至
模型和Python类
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
odoo 中文开发手册
odoo 开发参考
odoo 实施笔记
Odoo 最佳方案
关于 OdooV
Odoo FAQ
工具
链入页面
相关更改
特殊页面
页面信息
友情链接
odoo官网
odoo中文网
odoo实施