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.
1models.Model – El Modelo Estándar
Características principales:
Los datos se almacenan en la base de datos.
Create, Read, Update, Delete
Permite herencia de clases y prototipos.
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

2TransientModel – 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

3AbstractModel – 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

4models.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:
Todas las clases de modelo heredan de ella.
Define el comportamiento de creación de modelos.
Registra modelos en el pool.
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:
Para datos empresariales persistentes
Para operaciones temporales e interfaces.
Para funcionalidad reutilizable y mixins.
La base del sistema (uso interno).
📌 En resumen
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.