星辉Odoo模型开发教程2-模型创建第二讲

本文深入探讨Odoo模型的创建,强调Python类与模型的关系,包括临时模型和抽象模型的特性。在Odoo中,模型与Python类绑定,模型名全局唯一。同时介绍了如何在开发者模式下检查已有模型,包括模型的元数据、字段、访问控制和视图等信息。
摘要由CSDN通过智能技术生成

模型和 Python 类

Odoo 模型以 Python 类的形式展现,在前面的代码中,有一个继承了 models.Model 类的Python 类: Book,创建了新 Odoo 模型: library.book。 Odoo 的模型保存在中央注册表
(central registry)中,可通过 env 环境对象(老 API 中称为 pool)获取。 它是一个数据库保存所有可用模型类引用的字典,其中的词条可通过模型名引用 。具体来说,模型方法中的代码可使用self.env[‘library.book’ ]来获取表示 library.book 模型的模型类。
可以看出模型名非常重要,因为它是访问该注册表的关键。模型名的规则是以点号连接的小写单词,如 library.book 或 library.book.category。内核模块中的其它示例有 project.project,project.task 和 project.task.type。模型名应使用单数,如 library.book 而非 library.books。
“ 小贴士: 由于历史原因,有些内核模型没有遵循这一规则,如 res.users。 ”模型名必须全局唯一,因此第一个单词应使用模块关联的主应用对应,以图书应用而言,模型名前缀使用 library。其它示例如内核模块的 project, crm 和 sale。另一方面 Python 类仅为所声明文件本地内容,名称仅需在代码文件中唯一即可。因为类名不会与其它模块中的类产生冲突,也
就不需为其添加主应用相关的前缀。
类的命名规范是使用驼峰命名法(CamelCase),这与 Python 标准的 PEP8 编码规范一致。

临时(Transient)模型和抽象模型

在前述代码中以及在大多数据 Odoo 模型中的类会继承 models.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值