Odoo 19.0 Community · Persistente

ir.model.fields: campos, relaciones y API

El modelo ir.model.fields («Campos») es un modelo persistente declarado por el módulo Base y ampliado por 3 módulos más. Expone 51 campos, 45 de ellos declarados directamente en el modelo; 21 campos de otros modelos apuntan a él. A continuación encontrará cada campo con su nombre técnico, tipo, etiqueta en español y relaciones, y un ejemplo de llamada a la API JSON-2 de Odoo 19.

Ficha de identidad

Nombre técnico
ir.model.fields
Etiqueta
Campos
Tipo
Persistente (models.Model)
Tabla SQL
ir_model_fields
Módulo de origen
Base (base)
Ampliado por
mail, base_sparse_field, website
Orden por defecto (_order)
name, id
Campo mostrado (_rec_name)
field_description

Campos del modelo

45 campos propios, 0 heredados de mixins y 6 campos automáticos del ORM. Haga clic en un nombre para obtener el enlace directo al campo.

51 de 51 campos mostrados

Nombre técnicoEtiquetaTipoDetalles
column1Columna 1

Columna referente al registro en la tabla del modelo

char
column2Columna 2

Columna referente al registro en la tabla del comodelo

char
company_dependentDependiente de la compañía

Si los valores de este campo dependen de la compañía

boolean
solo lectura
computeCalcular

Code to compute the value of the field. Iterate on the recordset 'self' and assign the field's value: for record in self: record['size'] = len(record.name) Modules time, datetime, dateutil are available.

text
copiedCopiado

Si el valor será o no copiado al duplicar un registro.

boolean
calculado, almacenado
currency_fieldCampo de moneda

Nombre del campo many2one que contiene la res.currency

char
dependsDependencias

Dependencies of compute method; a list of comma-separated field names, like name, partner_id.name

char
domainDominio

El dominio opcional para restringir los posibles valores para los campos relacionales, se especifica como una expresión Python compuesta por una lista de tripletas. Por ejemplo: [('color','=',' red')]

char
field_descriptionEtiqueta de campochar
obligatoriotraducible
group_expandExpandir grupos

If checked, all the records of the target model will be included in a grouped result (e.g. 'Group By' filters, Kanban columns, etc.). Note that it can significantly reduce performance if the target model of the field contains a lot of records; usually used on models with few records (e.g. Stages, Job Positions, Event Types, etc.).

boolean
groupsGruposmany2many
helpCampo ayudatext
traducible
indexIndexadoboolean
modelNombre del modelo

El nombre técnico del modelo al que pertenece este campo.

char
obligatorio
model_idModelo

El modelo al que pertenece este campo.

many2one
obligatorio
modulesEn las aplicaciones

Lista de módulos en los que se ha definido el campo

char
calculado
nameNombre de campochar
obligatorio
on_deleteAl eliminar

Propiedad 'On delete' (al eliminar) para campos many2one

selection

Valores: cascade (En cascada), set null (Establecer a NULL), restrict (Restringir)

readonlySólo lecturaboolean
relationModelo relacionado

Para campos de relación, el nombre técnico del modelo destino

char
relation_fieldCampo de relación

Para campos one2many, el campo del modelo destino que implementa la relación inversa many2one.

char
relation_field_idCampo de relaciónmany2one
calculado, almacenado
relation_tableTabla de relación

Utilizado para personalizar campos many2many para definir un nombre de tabla de relación personalizada

char
requiredRequeridoboolean
sanitizeDepurar HTMLboolean
sanitize_attributesDepurar atributos HTMLboolean
sanitize_formDepurar formulario HTMLboolean
sanitize_overridableDepurar HTML anulableboolean
sanitize_styleDepurar estilo HTMLboolean
sanitize_tagsDepurar etiquetas HTMLboolean
selectableSeleccionableboolean
selectionOpciones de selección (Obsoleto)char
calculado
selection_idsOpciones de selecciónone2many

inverso: field_id

serialization_field_idCampo de serialización

Si está configurado así, este campo se almacenará en la estructura del campo de serialización en lugar de tener su propia columna en la base de datos. No se puede modificar después de crearlo.

many2one

añadido por Campos dispersos (base_sparse_field)

sizeTamañointeger
stateTiposelection
obligatoriosolo lectura

Valores: manual (Campo personalizado), base (Campo base)

storeAlmacenado

Si el valor está guardado en la base de datos.

boolean
strip_classesExponer atributo de claseboolean
strip_styleExponer atributo de estiloboolean
trackingActivar el seguimiento de pedidos

Si se establece, se realiza un seguimiento de cada modificación realizada en este campo. El valor se utiliza para ordenar los valores de seguimiento.

integer

añadido por Conversaciones (mail)

translateTraducible

Si los valores de este campo pueden ser traducidos (activa el mecanismo de traducción para ese campo).

selection

Valores: standard (Translate as a whole), html_translate (Translate HTML terms), xml_translate (Translate XML terms)

ttypeTipo de camposelection
obligatorio

Valores calculados dinámicamente

website_form_blacklistedLista negra en formularios web

Lista negra de este campo para formularios web

boolean

añadido por Sitio web (website)

create_dateCreado eldatetime
solo lecturaautomático
create_uidCreado pormany2one
solo lecturaautomático
display_nameNombre mostradochar
solo lecturacalculadoautomático
idIDinteger
solo lecturaautomático
write_dateÚltima actualización eldatetime
solo lecturaautomático
write_uidÚltima actualización pormany2one
solo lecturaautomático

Relaciones

Modelos enlazados desde este modelo

Campos de otros modelos que apuntan aquí

Leer este modelo por la API

Ejemplo de llamada a la API JSON-2 de Odoo 19: lectura de los cinco primeros registros con campos reales del modelo. Sustituya la instancia, la base y la clave API por las suyas.

curl
curl -X POST "https://su-instancia.odoo.com/json/2/ir.model.fields/search_read" \
  -H "Authorization: bearer $ODOO_API_KEY" \
  -H "X-Odoo-Database: su-base" \
  -H "Content-Type: application/json" \
  -d '{"domain":[],"fields":["field_description","model","model_id","name","state"],"limit":5}'
Python (requests)
import requests

BASE_URL = "https://su-instancia.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "su-base"}

res = requests.post(
    f"{BASE_URL}/ir.model.fields/search_read",
    headers=headers,
    json={"domain": [], "fields": ["field_description","model","model_id","name","state"], "limit": 5},
)
res.raise_for_status()
print(res.json())
  • El acceso a la API externa está reservado al plan Custom de Odoo.
  • XML-RPC y JSON-RPC se retirarán en Odoo 22 (otoño de 2028): use JSON-2.
  • Se aplican los permisos de acceso y las reglas de registro del usuario de la clave.

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/ir-model-fields">ir.model.fields (Odoo 19.0)</a>

Fuentes

Datos verificados el 23 de septiembre de 2026 · Odoo 19.0 Community

¿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.