Herramienta gratuita · Odoo 19

Explorador de modelos de Odoo: campos, relaciones, API

¿Cuál es el nombre técnico del campo «Cliente» de un presupuesto? ¿A qué modelo apunta partner_id? ¿Qué módulos añaden campos a res.partner? Busque un modelo a continuación: cada ficha lista sus campos con su tipo, su etiqueta oficial en español, sus relaciones entrantes y salientes, y un ejemplo de llamada a la API JSON-2. Sin cuenta ni correo, para los 888 modelos de Odoo 19 Community.

Cómo usar el explorador

La herramienta responde a una pregunta que desarrolladores, implantadores y usuarios avanzados se hacen cada semana: ¿cómo se llama este campo en la base de datos y de dónde viene? Bastan tres pasos.

  1. Escriba un nombre técnico (res.partner, stock.picking) o una palabra de la etiqueta (factura, contacto, ausencia). La búsqueda ignora mayúsculas y acentos.
  2. Abra la ficha del modelo: identidad (tabla SQL, módulo de origen, módulos que lo extienden) y la lista completa de campos, filtrable por nombre o por tipo.
  3. Comparta el resultado: la URL de la búsqueda y la de cada campo (ancla #field-…) son estables; puede pegarlas en un ticket, un pliego de requisitos o una respuesta de foro.

¿Qué es un modelo de Odoo?

Un modelo es una clase Python que describe un tipo de registro: un contacto, una factura, una línea de pedido. El ORM (Object Relational Mapping, la capa que traduce los objetos Python en consultas SQL) crea una tabla PostgreSQL para cada modelo persistente. El modelo res.partner se guarda así en la tabla res_partner.

El nombre técnico sigue una convención sencilla: un prefijo de aplicación (sale, account, stock, hr) y una o varias palabras separadas por puntos. Los prefijos res (recursos compartidos) e ir (Information Repository, el núcleo técnico) señalan los modelos del módulo base.

TipoClase PythonTabla SQLEn Odoo 19 Community
Persistentemodels.ModelSí, los datos se conservan546 modelos
Abstracto (mixin)models.AbstractModelNo, sirve para compartir campos142 modelos
Transitorio (asistente)models.TransientModelSí, se vacía periódicamente200 modelos

Leer la ficha de un campo

Cada campo tiene un nombre técnico (partner_id), una etiqueta visible para el usuario (Cliente) y un tipo. El tipo determina lo que puede leer o escribir por la API y cómo filtrar por él.

TipoContenidoEjemplo
char, text, htmlTexto corto, largo o con formatoname, comment
integer, float, monetaryNúmero entero, decimal o importe en una monedaamount_total
boolean, date, datetimeCasilla, fecha, fecha y horaactive, date_order
selectionUn valor de una lista cerradastate (draft, sale, cancel)
many2oneEnlace a UN registro de otro modelopartner_id → res.partner
one2manyRegistros que apuntan a esteorder_line → sale.order.line
many2manyEnlaces múltiples en ambos sentidostag_ids → crm.tag

Herencia: por qué un modelo tiene campos de decenas de módulos

Odoo es modular: cada aplicación añade lo que necesita a los modelos existentes, sin duplicarlos. El módulo sale, por ejemplo, añade los pedidos de un contacto a res.partner. La ficha indica, para cada campo, el módulo que lo declara. Conviven tres mecanismos.

  • Extensión (_inherit con el mismo nombre): un módulo añade o modifica campos de un modelo existente. Es el caso más frecuente.
  • Mixin (_inherit desde un modelo abstracto): el modelo recibe un conjunto de campos listo para usar, como el chatter de mail.thread o las actividades de mail.activity.mixin.
  • Delegación (_inherits): el modelo se apoya en otro y expone sus campos. Un usuario res.users está vinculado a un contacto res.partner mediante partner_id.

Encontrar el nombre técnico en su propio Odoo

El explorador describe Odoo estándar. Para comprobar un campo en su base, active el modo de desarrollador: Ajustes y luego «Activar el modo de desarrollador», o añada ?debug=1 a la dirección. Pase el ratón sobre una etiqueta de formulario: una ayuda emergente muestra el nombre técnico del campo y su modelo.

El menú Ajustes > Técnico > Estructura de la base de datos > Modelos lista además todos los modelos instalados, incluidos sus módulos propios y los campos creados con Studio (prefijo x_studio_).

Consultar un modelo por la API

Odoo 19 introduce la API JSON-2: una petición POST a /json/2/<modelo>/<método>, autenticada con una clave API enviada en la cabecera Authorization. Cada ficha del explorador ofrece un ejemplo listo para copiar en curl y en Python con campos reales del modelo. El método fields_get devuelve la definición de los campos de su base, personalizaciones incluidas.

Las claves API se crean en Preferencias > Seguridad de la cuenta, con una validez máxima de tres meses. Según la documentación de Odoo, el acceso a la API externa está reservado al plan Custom: no está disponible en los planes One App Free y Standard.

Método y límites de los datos

Las fichas se generan a partir del código fuente de Odoo 19 Community (build pública del 28 de agosto de 2026, licencia LGPL v3): 395 módulos instalables analizados sin ejecutar Odoo. Se excluyen las localizaciones extranjeras y los módulos de prueba; se conservan las localizaciones francesas. Las etiquetas y ayudas en español y francés proceden de los archivos de traducción oficiales de Odoo.

No figuran aquí: los módulos Enterprise, sus módulos propios, los campos de Studio y las listas de selección calculadas dinámicamente. Para consultar el esquema real de SU base, Aidoo lee la estructura de sus modelos y responde en lenguaje natural. ¿Prepara un cambio de versión? Consulte nuestra página de migración a Odoo 19.

Preguntas frecuentes

¿Estos datos sirven para Odoo Online, Odoo.sh y Enterprise?

Sí para la parte Community: sus modelos y campos existen en todas las ediciones de Odoo 19. Enterprise añade otros módulos (y por tanto otros campos) que no se listan aquí.

¿Por qué no aparece un campo que veo en mi Odoo?

Probablemente procede de un módulo Enterprise, de un módulo de terceros, de Studio (prefijo x_studio_) o de otra versión de Odoo. Active el modo de desarrollador y pase el ratón sobre el campo para ver su nombre técnico y su modelo.

¿Qué diferencia hay entre res.partner y res.users?

res.partner representa a cualquier persona o empresa (cliente, proveedor, contacto). res.users representa una cuenta que inicia sesión en Odoo: se apoya en un res.partner por delegación (_inherits) y reutiliza su nombre, su correo y su dirección.

¿Cómo obtengo la lista de campos de un modelo por la API?

Llame al método fields_get del modelo, por ejemplo POST /json/2/res.partner/fields_get. Devuelve el tipo, la etiqueta y los atributos de cada campo tal como existen en su base, personalizaciones incluidas.

¿Puedo reutilizar esta información?

Sí. El código de Odoo Community se publica bajo licencia LGPL v3 y los nombres de modelos y campos son datos técnicos. Si la herramienta le resulta útil, un enlace a esta página ayuda a otros desarrolladores a encontrarla.

Citar esta herramienta

¿Escribe un tutorial, una documentación interna o una respuesta en un foro? Copie este enlace para dirigir a sus lectores a la ficha actualizada.

<a href="https://aidoo.ai/es/outils/explorateur-modeles-odoo">Explorador de modelos de Odoo (campos, relaciones, API)</a>

¿Tiene un proyecto Odoo o quiere aprovechar su ERP con la IA? Hablemos

Implantación, desarrollo de módulos, conexión de Claude o ChatGPT a sus datos: cuéntenos su contexto y le responderemos en 24 horas laborables.