Cómo Crear un Módulo en Odoo 17

Odoo es una plataforma de gestión empresarial integral que ofrece una amplia gama de aplicaciones empresariales. Una de las características más poderosas de Odoo es su capacidad para personalizar y extender sus funcionalidades mediante módulos. En este artículo, te mostraremos cómo crear un módulo en Odoo 17 desde cero.

Paso 1: Configurar el Entorno de Desarrollo

Antes de comenzar a desarrollar tu módulo, asegúrate de tener un entorno de desarrollo adecuado. Esto incluye tener Odoo 17 instalado y configurado correctamente. Si no lo has hecho, sigue estos pasos:

  1. Instalar Odoo 17:

    • Descarga Odoo 17 desde el sitio oficial.
    • Sigue las instrucciones de instalación para tu sistema operativo.
  2. Configurar un Entorno Virtual (opcional pero recomendado):

    • Usa virtualenv para crear un entorno virtual:
      bash
      virtualenv odoo17_env source odoo17_env/bin/activate
  3. Instalar Dependencias:

    • Navega a la carpeta de Odoo y ejecuta:
      bash
      pip install -r requirements.txt

Paso 2: Crear la Estructura del Módulo

Los módulos de Odoo siguen una estructura de directorios específica. A continuación, se muestra cómo crear la estructura básica de un módulo llamado my_module.

  1. Crear el Directorio del Módulo:

    bash
    mkdir -p addons/my_module cd addons/my_module
  2. Crear los Archivos Básicos del Módulo:

    • __init__.py: Inicializa el módulo.
    • __manifest__.py: Contiene la configuración y metadatos del módulo.
    • models/: Contiene los modelos de datos.
    • views/: Contiene las vistas XML.

    Estructura:

    bash
    my_module/ ├── __init__.py ├── __manifest__.py ├── models/ │ └── __init__.py └── views/

Paso 3: Definir el Archivo __init__.py

El archivo __init__.py se utiliza para inicializar el módulo y sus submódulos. Edítalo para incluir lo siguiente:

python
# my_module/__init__.py from . import models

Y en el directorio models, crea otro archivo __init__.py:

python
# my_module/models/__init__.py from . import my_model

Paso 4: Crear el Archivo __manifest__.py

El archivo __manifest__.py contiene la configuración y metadatos del módulo, como el nombre, la descripción, la versión, y las dependencias. Aquí tienes un ejemplo básico:

python
# my_module/__manifest__.py { 'name': 'My Module', 'version': '1.0', 'category': 'Uncategorized', 'summary': 'A simple Odoo 17 module', 'description': 'This is a description of my module.', 'author': 'Your Name', 'depends': ['base'], 'data': [ 'views/my_model_views.xml', ], 'installable': True, 'application': True, }

Paso 5: Definir un Modelo

Crea un archivo my_model.py en el directorio models para definir un modelo. Por ejemplo, un modelo simple para gestionar tareas:

python
# my_module/models/my_model.py from odoo import models, fields class MyModel(models.Model): _name = 'my.model' _description = 'My Model' name = fields.Char(string='Name', required=True) description = fields.Text(string='Description') active = fields.Boolean(string='Active', default=True)

Paso 6: Crear las Vistas

Define las vistas XML para tu modelo. Crea un archivo my_model_views.xml en el directorio views:

xml
<!-- my_module/views/my_model_views.xml --> <odoo> <record id="view_my_model_form" model="ir.ui.view"> <field name="name">my.model.form</field> <field name="model">my.model</field> <field name="arch" type="xml"> <form string="My Model"> <sheet> <group> <field name="name"/> <field name="description"/> <field name="active"/> </group> </sheet> </form> </field> </record> <record id="view_my_model_tree" model="ir.ui.view"> <field name="name">my.model.tree</field> <field name="model">my.model</field> <field name="arch" type="xml"> <tree string="My Model"> <field name="name"/> <field name="active"/> </tree> </field> </record> <menuitem id="menu_my_module_root" name="My Module"/> <menuitem id="menu_my_model" name="My Model" parent="menu_my_module_root" action="action_my_model"/> <record id="action_my_model" model="ir.actions.act_window"> <field name="name">My Model</field> <field name="res_model">my.model</field> <field name="view_mode">tree,form</field> </record> </odoo>

Paso 7: Instalar y Probar el Módulo

  1. Actualizar la Lista de Módulos:

    • Inicia el servidor de Odoo y actualiza la lista de módulos:
      bash
      ./odoo-bin -u all
  2. Instalar el Módulo:

    • Ve a la interfaz web de Odoo.
    • Navega a Aplicaciones, busca My Module y haz clic en Instalar.

Conclusión

Crear un módulo en Odoo 17 te permite personalizar y extender las funcionalidades de la plataforma para adaptarla a las necesidades específicas de tu negocio. Siguiendo estos pasos, has aprendido cómo configurar el entorno de desarrollo, crear la estructura del módulo, definir modelos y vistas, y finalmente instalar y probar tu módulo. ¡Explora las posibilidades y lleva tu instancia de Odoo al siguiente nivel con tus propios módulos personalizados!


Comentarios