ir.model : champs, relations et API
Le modèle ir.model (« Modèles ») est un modèle persistant déclaré par le module Base, puis enrichi par 8 autres modules. Il expose 30 champs, dont 24 déclarés directement sur le modèle ; 39 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- Libellé
- Modèles
- Type
- Persistant (models.Model)
- Table SQL
ir_model- Module d'origine
- Base (
base) - Étendu par
- web, bus, mail, sms, spreadsheet, website, mass_mailing, marketing_card
- Tri par défaut (_order)
is_mail_thread DESC, name ASC
Champs du modèle
24 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.
30 champs affichés sur 30
| Nom technique | Libellé | Type | Détails |
|---|---|---|---|
| abstract | Modèle abstrait | boolean | |
| access_ids | Accès | one2many | inverse : |
| count | Nombre (y compris les archivés) Nombre total d'enregistrements dans ce modèle | integer | calculé |
| field_id | Champs | one2many | requis inverse : |
| fold_name | Replier le champ Dans une vue Kanban où les colonnes sont des enregistrements de ce modèle, la valeur de ce champ (booléen) détermine quelle colonne doit être repliée par défaut. | char | |
| info | Informations | text | |
| inherited_model_ids | Modèles hérités La liste des modèles qui étendent le modèle actuel. | many2many→ ir.model | calculé |
| is_mail_activity | A de l'activité par e-mail | boolean | ajouté par Discussion ( |
| is_mail_blacklist | A une liste noire des e-mails | boolean | ajouté par Discussion ( |
| is_mail_thread | A un fil de messagerie | boolean | ajouté par Discussion ( |
| is_mail_thread_sms | Fil de discussion du SMS Si ce modèle supporte les messages et notifications à travers des SMS | boolean | calculé ajouté par Passerelle SMS ( |
| is_mailing_enabled | Liste de diffusion activée Si ce modèle prend en charge les capacités d'envois marketing (notamment les e-mails et les SMS). | boolean | calculé ajouté par E-mail Marketing ( |
| model | Modèle | char | requis |
| modules | Dans Applications Liste des modules dans lequels l'objet est défini ou hérité | char | calculé |
| name | Description du modèle | char | requistraduisible |
| order | Commander Expression SQL pour ordonner les enregistrements dans le modèle ; par exemple: "x_sequence asc, id desc" | char | requis |
| rule_ids | Règles sur les enregistrements | one2many→ ir.rule | inverse : |
| state | Type | selection | lecture seule Valeurs : |
| transient | Modèle transitoire | boolean | |
| view_ids | Vues | one2many | calculé |
| website_form_access | Autorisé à utiliser dans les formulaires Autoriser la fonction contructeur de formulaire pour ce modèle. | boolean | ajouté par Site Web ( |
| website_form_default_field_id | Champs pour les données du formulaire personnalisé Spécifiez le champ qui contiendra des données métas et personnalisées du formulaire. | many2one | ajouté par Site Web ( |
| website_form_key | Clé formulaire site web Utilisé dans le registre de configurateur de formulaire | char | ajouté par Site Web ( |
| website_form_label | Libellé pour un formulaire d'action Libellé des actions du formulaire. Ex : crm.lead pourrait être "Envoyer un e-mail" et project.issue pourrait être "Créer un problème". | char | traduisible 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 : inherited_model_ids
- ir.model.access : access_ids
- ir.model.fields : field_id, website_form_default_field_id
- ir.rule : rule_ids
- ir.ui.view : view_ids
Champs d'autres modèles qui pointent ici
- base.automation : model_id
- base.language.export : model_id
- base.module.uninstall : model_ids
- calendar.event : res_model_id
- data_recycle.model : res_model_id
- data_recycle.record : res_model_id
- fetchmail.server : object_id
- gamification.goal.definition : model_id, model_inherited_ids
- ir.actions.actions : binding_model_id
- ir.actions.report : model_id
- ir.actions.server : available_model_ids, crud_model_id, model_id, update_related_model_id
- ir.model : inherited_model_ids
- ir.model.access : model_id
- ir.model.constraint : model
- ir.model.fields : model_id
- ir.model.inherit : model_id, parent_id
- ir.model.relation : model
- ir.rule : model_id
- ir.ui.view : model_id
- mail.activity : res_model_id
- mail.activity.plan : res_model_id
- mail.activity.schedule : res_model_id
- mail.alias : alias_model_id, alias_parent_model_id
- mail.template : model_id
- mail.template.preview : model_id
- mailing.filter : mailing_model_id
- mailing.mailing : mailing_model_id
- privacy.lookup.wizard.line : res_model_id
- rating.rating : parent_res_model_id, res_model_id
- sms.template : model_id
- sms.template.preview : model_id
- spreadsheet.dashboard : main_data_model_ids
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/search_read" \
-H "Authorization: bearer $ODOO_API_KEY" \
-H "X-Odoo-Database: votre-base" \
-H "Content-Type: application/json" \
-d '{"domain":[],"fields":["name","model","order","state","website_form_default_field_id"],"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/search_read",
headers=headers,
json={"domain": [], "fields": ["name","model","order","state","website_form_default_field_id"], "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">ir.model (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.