Odoo阶级差异

nik*_*las 4 openerp odoo

在创建类时有时使用osv.osv,我们也使用models.Model这两者之间的基本区别是什么?有没有比另一个更有优势?

no *_*der 9

在版本7之前,

osv 是一个类和一个OpenERP描述符类,所有类(模型)必须为OpenERP模块部署继承它.

osv 在OpenERP服务器的OSV模块里面的类,其中包含所有OpenERP属性的内容,你可以看到_column,_defaults和其他很多东西,比如nameetc,所以我们必须在我们的openerp模型(类)中继承

在版本7中,

ORM是对象关系映射的缩写,是OpenERP的核心部分.

在OpenERP中,数据模型通过Python类和对象进行描述和操作.在Python和底层关系数据库(PostgreSQL)之间弥合差距 - 尽可能透明地开发 - 这是ORM的工作,它将提供我们对象所需的持久性.

osv.osv并且orm.Model已弃用,它仍可用于向后兼容.你应该使用models.Model.

在版本8+中,

模型过渡是

osv.osv---> orm.Model--->models.Model

osv.TransientModel---> orm.TransientModel--->models.TransientModel


Dan*_*eis 5

osv.osv是前者API中使用.它已被弃用.它仍然有效,但应该避免.

models.Model应该使用新的API .