- Un módulo de Odoo es declarado por su manifiesto.
- Un módulo es también un paquete de Python con un archivo init.py, que contiene instrucciones de importación de varios archivos de Python en dicho módulo.
- Por ejemplo, si un módulo tiene un solo archivo mymodule.py, el archivo init.py podría contener:
from . import mymodule
$ odoo-bin scaffold <module name> <where to put it>
Un componente clave de Odoo es el ORM. Esta capa evita escribir la mayoría del SQL manualmente y proporciona extensibilidad y servicios de seguridad 2.
Los objetos de negocio se declaran como clases Python que extienden Model a cual los integra en el sistema automatizado de persistencia.
Módulos pueden ser configurados para establecer un número de atributos en su definición. El atributo más importante es _name el cuál es requerido y define el nombre para el modelo en el sistema de Odoo. Aquí es mínimamente completada la definición de un modelo:
from odoo import models
class MinimalModel(models.Model):
_name = 'test.model'
Los campos se utilizan para definir lo que puede almacenar el modelo y dónde. Los campos se definen como atributos en el modelo:
from odoo import models, fields
class LessMinimalModel(models.Model):
_name = 'test.model2'
name = fields.Char()
Es importante revisar el uso de pdb para hacer uso de el usa
import pdb;