odoo中的一切都是基于model编程,odoo中的model分为三类:AbstractModel、Model、TransientModel,这里直接上源码
从图中可以看出,三者继承关系为Model继承AbstractModel,TransientModel继承了Model。这里可以看出_auto、_register、_abstract、_transient这四个属性决定了三者不同的特性。
- AbstractModel是抽象类,不会在数据库创建表,一般用于创建接口表。
- TransientModel是临时模型,会在数据库建表,但是创建的是临时表,数据会被定时清除,主要用于向导视图。
- Model会在数据库建表,主要用于业务模块存储数据。