Odoo class 差异
Odoo class differences
创建class时有时使用osv.osv,我们也使用models.Model
这两者之间的基本区别是什么?
有什么优势吗?
前面的API使用了osv.osv
。
它已被弃用。它仍然有效,但应该避免。
随着新的API应该使用models.Model
。
版本 7 之前,
osv
是一个 class 和一个 OpenERP 描述符 class 并且所有 class(模型)必须继承它以进行 OpenERP 模块部署。
osv
class 在 OpenERP 服务器的 OSV 模块中,其中包含所有 OpenERP 属性,你可以看到 _column,_defaults 和其他许多东西,比如 nameetc 所以我们必须继承我们的openerp 模型 (class)
在版本 7 中,
ORM,对象关系映射的缩写,是 OpenERP 的核心部分。
在OpenERP中,数据模型是通过Python classes和对象来描述和操作的。 ORM 的工作是弥合 Python 和底层关系数据库 (PostgreSQL) 之间的差距——对开发人员来说尽可能透明,这将为我们的对象提供所需的持久性。
osv.osv
和 orm.Model
已弃用,它仍然适用于向后兼容。您应该改用 models.Model
。
在版本 8+ 中,
模型转换为
osv.osv
---> orm.Model
---> models.Model
osv.TransientModel
---> orm.TransientModel
---> models.TransientModel
创建class时有时使用osv.osv,我们也使用models.Model 这两者之间的基本区别是什么? 有什么优势吗?
前面的API使用了osv.osv
。
它已被弃用。它仍然有效,但应该避免。
随着新的API应该使用models.Model
。
版本 7 之前,
osv
是一个 class 和一个 OpenERP 描述符 class 并且所有 class(模型)必须继承它以进行 OpenERP 模块部署。
osv
class 在 OpenERP 服务器的 OSV 模块中,其中包含所有 OpenERP 属性,你可以看到 _column,_defaults 和其他许多东西,比如 nameetc 所以我们必须继承我们的openerp 模型 (class)
在版本 7 中,
ORM,对象关系映射的缩写,是 OpenERP 的核心部分。
在OpenERP中,数据模型是通过Python classes和对象来描述和操作的。 ORM 的工作是弥合 Python 和底层关系数据库 (PostgreSQL) 之间的差距——对开发人员来说尽可能透明,这将为我们的对象提供所需的持久性。
osv.osv
和 orm.Model
已弃用,它仍然适用于向后兼容。您应该改用 models.Model
。
在版本 8+ 中,
模型转换为
osv.osv
---> orm.Model
---> models.Model
osv.TransientModel
---> orm.TransientModel
---> models.TransientModel