ir.model.fields : champs, relations et API
Le modèle ir.model.fields (« Champs ») est un modèle persistant déclaré par le module Base, puis enrichi par 3 autres modules. Il expose 51 champs, dont 45 déclarés directement sur le modèle ; 21 champs d'autres modèles pointent vers lui. Retrouvez ci-dessous chaque champ avec son nom technique, son type, son libellé français et ses relations, puis un exemple d'appel à l'API JSON-2 d'Odoo 19.
Fiche d'identité
- Nom technique
ir.model.fields- Libellé
- Champs
- Type
- Persistant (models.Model)
- Table SQL
ir_model_fields- Module d'origine
- Base (
base) - Étendu par
- mail, base_sparse_field, website
- Tri par défaut (_order)
name, id- Champ d'affichage (_rec_name)
field_description
Champs du modèle
45 champs propres, 0 hérités des mixins et 6 champs automatiques de l'ORM. Cliquez sur un nom pour obtenir le lien direct vers le champ.
51 champs affichés sur 51
| Nom technique | Libellé | Type | Détails |
|---|---|---|---|
| column1 | Colonne 1 Colonne référençant l'enregistrement dans la table du modèle | char | |
| column2 | Colonne 2 Colonne référençant l'enregistrement du tableau comodel | char | |
| company_dependent | Dépendant de la société La valeur de ce champ dépend de l'entreprise | boolean | lecture seule |
| compute | Calculer 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 | |
| copied | Copié Indique si la valeur est copiée lors de la duplication d'un enregistrement. | boolean | calculé, stocké |
| currency_field | Champ devise Nom du champ Many2one contenant res.currency | char | |
| depends | Dépendances Dependencies of compute method; a list of comma-separated field names, like name, partner_id.name | char | |
| domain | Domaine Le domaine optionnel est utilisé pour limiter les valeurs possibles des champs concernés. Il s'exprime en langage Python sous forme de triplets. Par exemple : [('color', '=', 'rouge')] | char | |
| field_description | Étiquette de champ | char | requistraduisible |
| group_expand | Déplier les groupes 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 | |
| groups | Groupes | many2many | |
| help | Champ d'aide | text | traduisible |
| index | Indexé | boolean | |
| model | Nom de modèle Le nom technique du modèle auquel ce champ appartient | char | requis |
| model_id | Modèle Le modèle auquel ce champ appartient | many2one→ ir.model | requis |
| modules | Dans Applications Liste des modules dans lequels le champ est défini | char | calculé |
| name | Nom de champ | char | requis |
| on_delete | Lors de la suppression Propriété "Lors de la suppression" des champs many2one | selection | Valeurs : |
| readonly | Lecture seule | boolean | |
| related | Définition du champ associé Le champ associé correspondant, le cas échéant. Il doit être une liste de noms de champ séparés par des points. | char | |
| related_field_id | Champ associé | many2one | calculé, stocké |
| relation | Modèle associé Pour les champs de relation, le nom technique du modèle cible | char | |
| relation_field | Champ de relation Pour les champs one2many, le champ du modèle cible qui réalise la relation many2one correspondante | char | |
| relation_field_id | Champ de relation | many2one | calculé, stocké |
| relation_table | Table de relation Utilisé pour les champs many2many pour définir un nom de table de relation | char | |
| required | Obligatoire | boolean | |
| sanitize | Assainir HTML | boolean | |
| sanitize_attributes | Assainir attributs HTML | boolean | |
| sanitize_form | Assainir formulaire HTML | boolean | |
| sanitize_overridable | Assainissement HTML contournable | boolean | |
| sanitize_style | Assainir style HTML | boolean | |
| sanitize_tags | Assainir étiquettes HTML | boolean | |
| selectable | Sélectionnable | boolean | |
| selection | Options de sélection (Obsolète) | char | calculé |
| selection_ids | Options de sélection | one2many | inverse : |
| serialization_field_id | Champ de sérialisation L'activation de cette option indique que ce champ sera stocké dans la structure de sérialisation "creuse", plutôt que d'avoir une colonne dédiée dans la base de données. On ne peut pas changer cette option après la création. | many2one | ajouté par Champs isolés ( |
| size | Taille | integer | |
| state | Type | selection | requislecture seule Valeurs : |
| store | Enregistré Indique si la valeur est sauvegardée dans la base de données. | boolean | |
| strip_classes | Attribut de classe strip | boolean | |
| strip_style | Attribut de style strip | boolean | |
| tracking | Activer le suivi des commandes Si défini, chaque modification apportée à ce champ est suivie. La valeur est utilisée pour ordonner les valeurs de suivi. | integer | ajouté par Discussion ( |
| translate | Traduisible Indique si les valeurs de ce champ peuvent êtres traduites (active le mécanisme de traduction pour ce champ) | selection | Valeurs : |
| ttype | Type de Champ | selection | requis Valeurs calculées dynamiquement |
| website_form_blacklisted | Mis sur liste noire dans le formulaire web Mettez ce champ sur liste noire pour les formulaires web | boolean | ajouté par Site Web ( |
| create_date | Créé le | datetime | lecture seuleautomatique |
| create_uid | Créé par | many2one | lecture seuleautomatique |
| display_name | Nom affiché | char | lecture seulecalculéautomatique |
| id | ID | integer | lecture seuleautomatique |
| write_date | Dernière mise à jour le | datetime | lecture seuleautomatique |
| write_uid | Dernière mise à jour par | many2one | lecture seuleautomatique |
Relations
Modèles liés depuis ce modèle
- ir.model : model_id
- ir.model.fields : related_field_id, relation_field_id, serialization_field_id
- ir.model.fields.selection : selection_ids
- res.groups : groups
Champs d'autres modèles qui pointent ici
- base.automation : on_change_field_ids, trg_date_id, trigger_field_ids
- crm.lead.scoring.frequency.field : field_id
- data_recycle.model : time_field_id
- gamification.goal.definition : batch_distinctive_field, field_date_id, field_id
- ir.actions.server : link_field_id, update_field_id, webhook_field_ids
- ir.default : field_id
- ir.model : website_form_default_field_id
- ir.model.fields : related_field_id, relation_field_id, serialization_field_id
- ir.model.fields.selection : field_id
- ir.model.inherit : parent_field_id
- mail.tracking.value : field_id
- properties.base.definition : properties_field_id
- website.sale.extra.field : field_id
Lire ce modèle par l'API
Exemple d'appel à l'API JSON-2 d'Odoo 19 : lecture des cinq premiers enregistrements avec des champs réels du modèle. Remplacez l'instance, la base et la clé API par les vôtres.
curl -X POST "https://votre-instance.odoo.com/json/2/ir.model.fields/search_read" \
-H "Authorization: bearer $ODOO_API_KEY" \
-H "X-Odoo-Database: votre-base" \
-H "Content-Type: application/json" \
-d '{"domain":[],"fields":["field_description","model","model_id","name","state"],"limit":5}'import requests
BASE_URL = "https://votre-instance.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "votre-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())- L'accès à l'API externe est réservé à la formule Custom d'Odoo.
- XML-RPC et JSON-RPC seront retirés dans Odoo 22 (automne 2028) : préférez JSON-2.
- Les droits d'accès et règles d'enregistrement de l'utilisateur de la clé s'appliquent.
Citer cet outil
Vous rédigez un tutoriel, une documentation interne ou une réponse sur un forum ? Copiez ce lien pour renvoyer vos lecteurs vers la fiche à jour.
<a href="https://aidoo.ai/fr/outils/explorateur-modeles-odoo/ir-model-fields">ir.model.fields (Odoo 19.0)</a>Sources
- Code source du modèle sur GitHub
- Documentation Odoo 19 : ORM API
- Documentation Odoo 19 : API externe JSON-2
Données vérifiées le 23 septembre 2026 · Odoo 19.0 Community
Vous avez un projet Odoo ou souhaitez exploiter votre ERP avec l'IA ? Échangeons
Intégration, développement de modules, connexion de Claude ou ChatGPT à vos données : décrivez-nous votre contexte, nous vous répondons sous 24 heures ouvrées.