OdooWiki OCA HUB

JSONify Stored

jsonifier_stored folder_open OCA/server-tools open_in_new
Uncategorized Licencia: AGPL-3

Este módulo proporciona un mixin para ayudar a almacenar datos JSON.

La idea es que puedes precalcular algunos datos para que el sistema no tenga que calcularlos cada vez que se soliciten, por ejemplo, por un servicio externo.

Inspirado en la maquinaria de connector_search_engine (que idealmente debería refactorizarse en jsonifier_stored) y en un primer experimento para la v12 realizado aquí https://github.com/OCA/server-tools/pull/1926.

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 14.0

Proporciona un bloque de construcción reutilizable que permite a otros módulos de Odoo precalcular y almacenar datos JSON en cualquier modelo, de modo que los servicios externos puedan leerlos al instante sin recalcular.

Este módulo añade un mixin técnico (un componente reutilizable) llamado jsonifier.stored.mixin que otros módulos pueden heredar para almacenar datos JSON precalculados en sus registros. No añade menús ni pantallas para los usuarios finales; funciona en segundo plano.

En cualquier modelo que use el mixin, un campo jsonified_data almacenado se rellena automáticamente a partir de una definición de exportación (ir.exports). Un campo jsonified_display de solo lectura muestra los mismos datos como texto con formato legible, y ir_export_id muestra qué definición de exportación se utiliza.

Reglas de negocio y automatización: - Los datos se calculan en segundo plano mediante queue jobs, agrupados por idioma y definición de exportación, de modo que grandes volúmenes no ralentizan la interfaz de usuario. - Una acción programada llamada "JSONify stored - Recompute data for all models" puede regenerar el JSON de todos los modelos que usan el mixin. Se distribuye inactiva, y el código recomienda crear tu propio cron para cada modelo. - Si un modelo tiene un campo de idioma (lang_id), el cálculo se divide por idioma. - Si no se encuentra ninguna definición de exportación para un registro, sus datos JSON se borran y se registra un error.

El módulo toca ir.exports, res.lang, los canales y funciones de queue job, y añade una columna de base de datos para el JSON almacenado. Depende de jsonifier, base_sparse_field y queue_job.

Depende de

jsonifierbase_sparse_fieldqueue_job
Modelos y campos (1)
  • jsonifier.stored.mixin · modelo nuevoir_export_id, jsonified_display

Texto generado por IA (DeepSeek) al leer el código de la versión 14.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: 1 confirmada, 8 sin información de 9 versiones.

Fuentes · Odoo 14.0

Confirmado el 2026-11-03 en la rama 14.0 de OCA/server-tools.

terminal Instalación y uso

Documentación de OCA · Odoo 14.0

Este es un módulo técnico, por lo tanto, debes encargarte de extender tus modelos con jsonifier.stored.mixin.

Tu módulo también debe proporcionar un exportador compatible con base_jsonify sobrescribiendo _jsonify_get_exporter.

El cron "JSONify stored - Recompute data for all models" recalculará los datos de todos los modelos que hereden.

Los cálculos se delegan a trabajos en cola y, por defecto, cada trabajo calculará 5 registros. Puedes ajustar esto pasando chunk_size a cron_update_json_data_for.

Si tu modelo tiene un campo lang, antes de crear los trabajos, los registros se agruparán por idioma.

NOTA: si el modelo ya existe en tu DB, se recomienda usar la función jsonifier_stored.hooks.add_jsonifier_column para evitar que Odoo calcule todos los datos cuando actualices tu módulo.

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.