ATEMI, Aitor Atencia Modelar estados en Odoo: Selection, Many2one o Char Odoo · Modelado · Campos — Elegir mal el tipo de campo de un estado no rompe nada el primer día; rompe el informe, la traducción y la integración seis meses después.
ATEMI, Aitor Atencia API keys en Odoo 19: JSON-2, auth bearer y lo que el scope no protege Odoo · API · Seguridad — Odoo 19 marca XML-RPC y JSON-RPC como obsoletos y estrena /json/2 con API keys: buen momento para revisar cómo autentican tus integraciones.
ATEMI, Aitor Atencia Migración de datos a Odoo: CSV, external IDs y load() Odoo · Datos · Importación — La diferencia entre una migración que se puede repetir y una que hay que rezar para que salga bien es una columna: id.
ATEMI, Aitor Atencia Quitar modelos y campos en Odoo sin romper la actualización Odoo · Migraciones · Upgrade — Borrar un modelo del código no borra su tabla, y añadir un campo con default=now marca todas las filas antiguas con la hora del upgrade.
ATEMI, Aitor Atencia Vistas kanban en Odoo 19: la plantilla card y dos errores que los tests no ven Odoo · Vistas · Kanban — Una kanban de Odoo 19 puede instalar, pasar todos los tests de servidor y romper con la pantalla «¡Uy!» al abrirla en el navegador.
ATEMI, Aitor Atencia Record rules en profundidad: OR, AND y la regla que abre más de lo que crees Odoo · Seguridad · ir.rule — Dos record rules del mismo grupo no se suman como filtros: se combinan con OR, y basta con cumplir la más permisiva para escribir.
ATEMI, Aitor Atencia El chatter desde código: message_post, subtipos y a quién le llega Odoo · Mail · Chatter — Un message_post sin subtipo es una nota interna: el mensaje aparece en el chatter, pero el cliente que esperaba el aviso no recibe nada.
ATEMI, Aitor Atencia Transacciones en Odoo: savepoints, UniqueViolation y logs que sobreviven al rollback Odoo · Transacciones · PostgreSQL — Capturar una excepción de base de datos sin un savepoint no la arregla: deja la transacción abortada y el error aparece tres líneas después, en otro sitio.
ATEMI, Aitor Atencia Fechas y zonas horarias en Odoo: UTC, context_timestamp y trampas Odoo · Fechas · ORM — Odoo guarda todas las fechas en UTC y no te avisa cuando las comparas como si fueran locales: el bug aparece a medianoche y solo algunos días.
ATEMI, Aitor Atencia Refactorizar código Odoo: de legacy a buenas prácticas Odoo · Refactoring · Buenas prácticas — Reescribir un módulo heredado desde cero casi nunca sale bien; refactorizarlo a pasos pequeños y con tests, casi siempre.
ATEMI, Aitor Atencia Auditoría técnica de módulos Odoo antes de producción Odoo · Calidad · Release — Que los tests pasen no significa que el módulo esté listo: falta mirar permisos, SQL, rendimiento y qué pasa al actualizar sobre datos reales.
ATEMI, Aitor Atencia Diseño de módulos Odoo escalables: estructura y convenciones Odoo · Arquitectura · Convenciones — Un módulo no se vuelve inmantenible de golpe: se degrada fichero a fichero cuando nadie decide dónde va cada cosa.