OdooWiki OCA HUB
Generic Modules Licencia: LGPL-3

Este módulo implementa un sistema de componentes y es un bloque base para el Connector Framework. No obstante, se puede usar sin utilizar el Connector completo.

Documentación:

También puede que quieras consultar la Introduction to Odoo Components de @guewen.

Traducción automática al español (DeepSeek) de la descripción original de OCA, que está en inglés.

auto_awesome Qué hace este módulo

Generado por IA a partir del código · Odoo 19.0

Añade un marco técnico que permite a los desarrolladores registrar y usar 'componentes' reutilizables en lugar de solo modelos de Odoo. Proporciona los bloques de construcción base utilizados por los módulos de estilo conector.

Este módulo es una base técnica más que una funcionalidad de negocio. Introduce una forma de organizar el código en piezas reutilizables llamadas componentes, que se pueden buscar y usar en tiempo de ejecución en lugar de depender únicamente de los modelos estándar de Odoo.

  • Añade un modelo abstracto collection.base del que otros módulos pueden heredar para definir una 'colección' (por ejemplo un backend). Sobre dicha colección, un método work_on abre una sesión de trabajo para un modelo dado.
  • Añade un modelo component.builder que, cada vez que Odoo construye su registro, escanea los módulos instalados y registra todos los componentes declarados en un registro global.
  • Proporciona un componente base llamado base, heredado implícitamente por todos los componentes.
  • Los componentes se pueden filtrar por colección, por el modelo sobre el que se aplican y por una etiqueta de 'uso', y se pueden recuperar uno a uno o como una lista.
  • Se lanzan errores claros cuando ningún componente o varios componentes coinciden con una petición, y cuando el registro aún no está listo.

No añade menús, pantallas, informes ni reglas de negocio visibles para los usuarios finales. Solo toca los modelos técnicos collection.base y component.builder, y depende de la librería de Python cachetools para el almacenamiento en caché de las búsquedas de componentes.

Depende de

base
Modelos y campos (3)
  • base · modelo nuevo
  • collection.base · modelo nuevo
  • component.builder · modelo nuevo

Texto generado por IA (DeepSeek) al leer el código de la versión 19.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. Ver el código en GitHub

Disponibilidad por versión

Revisado: 2026-11-03
Confirmado (verificado en repositorio y rama) Estimado (sin verificar) Sin información

Estado de confirmación: 8 confirmadas, 1 sin información de 9 versiones.

terminal Instalación y uso

Documentación de OCA · Odoo 19.0

Como desarrollador, tienes acceso a un sistema de componentes. Puedes encontrar la documentación en el código o en

En resumen, puedes crear componentes:

from odoo.addons.component.core import Component

class MagentoPartnerAdapter(Component): _name = 'magento.partner.adapter' _inherit = 'magento.adapter'

_usage = 'backend.adapter' _collection = 'magento.backend' _apply_on = ['res.partner']

Y después, encontrar el componente que necesitas en tiempo de ejecución (despacho dinámico a nivel de componente):

def run(self, external_id): backend_adapter = self.component(usage='backend.adapter') external_data = backend_adapter.read(external_id)

Para que los tests que usan componentes funcionen, necesitarás usar la clase base proporcionada por odoo.addons.component.tests.common:

  • TransactionComponentCase

También hay algunas clases base específicas para probar el registro de componentes, usando la clase ComponentRegistryCase como clase base. Consulta los docstrings en tests/common.py.

Traducción automática al español (DeepSeek) de la documentación original de OCA; los comandos y el código no se traducen. Sin información verificada en OCA: Instalación, Configuración.

info

Datos importados de GitHub: esta ficha refleja la última revisión del catálogo, no una consulta en directo. Verifica siempre en la documentación del módulo y en staging antes de instalar en producción.