Tipo de modelos en Odoo
Odoo, como framework de desarrollo empresarial, ofrece diferentes tipos de modelos para adaptarse a diversas necesidades de desarrollo. En esta guía exploraremos en profundidad los cuatro tipos principales de modelos disponibles en Odoo: Model, TransientModel, AbstractModel y Base.
Carlos Blanco
12/29/20253 min read


1. models.Model - El Modelo Estándar
El models.Model es el tipo de modelo más común y utilizado en Odoo. Representa tablas de base de datos persistentes que almacenan datos de forma permanente.
Características principales:
Persistente: Los datos se almacenan en la base de datos.
CRUD completo: Create, Read, Update, Delete
Herencia: Permite herencia de clases y prototipos.
Mapeo ORM: Relación objeto-relacional completa
Dentro de Odoo, este tipo de modelo es usado para los registros de clientes, facturas, inventario, ventas o compras.

- Ventas
- Compras

2. TransientModel - Modelos Transitorios
El models.TransientModel es un modelo especial cuyos registros se eliminan automáticamente después de un tiempo determinado. Es ideal para operaciones temporales como wizards o procesos batch.
El uso más recurrente para este tipo de modelos son los asistentes, procesos de importación o exportación de datos, configuraciones temporales o informes temporales.
- Asistente para crear facturas de venta


- Asistente para pago de facturas


3. AbstractModel - Modelos Abstractos
El models.AbstractModel es un modelo base que no crea tablas en la base de datos. Se utiliza para definir comportamientos y campos comunes que serán reutilizados por otros modelos.
Características principales:
No persistente: No crea tabla en la base de datos.
Reutilizable: Herencia múltiple sin conflictos
Mixins: Perfecto para crear mixins de funcionalidad.
Sin instancias: No se pueden crear registros directamente.
El mayor uso dado a este tipo de modelo son los reportes, funcionalidades comunes como envío de correos o logging, campos computados.
- Envío de correo de facturas


- Secuencias de facturas


4. models.Base - La Raíz de Todo
El models.Base es la clase raíz de la que heredan todos los modelos de Odoo. Rara vez se usa directamente en desarrollo de módulos, pero es importante entender su funcionamiento.
Características principales:
Clase base: Todas las clases de modelo heredan de ella.
Metaclass: Define el comportamiento de creación de modelos.
Registro automático: Registra modelos en el pool.
Configuración ORM: Establece la base del mapeo objeto-relacional.
Conclusión
Comprender los diferentes tipos de modelos en Odoo es fundamental para desarrollar aplicaciones eficientes y mantenibles. Cada tipo tiene su propósito específico:
Model: Para datos empresariales persistentes
TransientModel: Para operaciones temporales e interfaces.
AbstractModel: Para funcionalidad reutilizable y mixins.
Base: La base del sistema (uso interno)
La elección correcta del tipo de modelo impacta directamente en el rendimiento, mantenibilidad y escalabilidad de tu aplicación Odoo. Siempre considera si los datos deben persistir, si la funcionalidad es reutilizable o si necesitas una interfaz temporal antes de decidir qué tipo de modelo usar.
En Exdoo podemos desarrollar cualquier módulo para Odoo en México, implementamos tu ERP con consultores experimentados no solo en Odoo sino en procesos de negocios, tenemos 10 años trabajando solamente con Odoo en México y otros países.
Exdoo TI S DE RL DE CV
10 años de experiencia en Odoo
