ir.attachment : champs, relations et API
Le modèle ir.attachment (« Pièce jointe ») est un modèle persistant déclaré par le module Base, puis enrichi par 20 autres modules. Il expose 37 champs, dont 31 déclarés directement sur le modèle ; 34 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 20.
Fiche d'identité
- Nom technique
ir.attachment- Libellé
- Pièce jointe
- Type
- Persistant (models.Model)
- Table SQL
ir_attachment- Module d'origine
- Base (
base) - Étendu par
- web, bus, html_editor, mail, product, account, account_edi, api_doc, attachment_indexation, cloud_storage, cloud_storage_azure, cloud_storage_google, cloud_storage_migration, hr_expense, hr_fleet, hr_recruitment, website, l10n_fr_pdp, web_unsplash, website_forum
- Tri par défaut (_order)
id desc- Hérite de (mixins)
- bus.listener.mixin
Champs du modèle
31 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.
37 champs affichés sur 37
| Nom technique | Libellé | Type | Détails |
|---|---|---|---|
| access_token | Jeton d'accès | char | |
| checksum | Somme de contrôle/SHA1 | char | lecture seule |
| company_id | Société | many2one | |
| db_datas | Données de la base de données | binary | |
| description | Description | text | |
| file_size | Taille de fichier | integer | lecture seule |
| has_thumbnail | A une vignette | boolean | calculé ajouté par Discussion ( |
| image_height | Hauteur de l'image | integer | calculé ajouté par HTML Editor ( |
| image_src | Image Src | char | calculé ajouté par HTML Editor ( |
| image_width | Largeur de l'image | integer | calculé ajouté par HTML Editor ( |
| index_content | Contenu indexé | text | lecture seule |
| key | Clé | char | ajouté par Site Web ( |
| local_url | Lien de la pièce jointe | char | calculé ajouté par HTML Editor ( |
| mimetype | Type de mime | char | lecture seule |
| name | Nom | char | requis |
| original_id | Original (non optimisé, non redimensionné) | many2one | ajouté par HTML Editor ( |
| public | Est un document public | boolean | |
| raw | Contenu du fichier (brut) | binary | calculé |
| res_access_read | Accès lecture ressource | boolean | calculé |
| res_access_write | Accès écriture ressource | boolean | calculé |
| res_field | Champ ressource | char | |
| res_id | ID ressource | many2one_reference | |
| res_model | Modèle de la ressource | char | |
| res_name | Nom de la ressource | char | calculé |
| store_fname | Nom du fichier enregistré | char | |
| theme_template_id | Modèle de thème | many2one | ajouté par Site Web ( |
| thumbnail | Vignette | image | ajouté par Discussion ( |
| type | Type Vous pouvez soit charger un fichier depuis votre ordinateur, soit copier/coller une adresse internet qui y renvoie. | selection | requis Valeurs : |
| url | Url | char | |
| voice_ids | Voix | one2many | inverse : ajouté par Discussion ( |
| website_id | Site Web | many2one→ website | 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
- discuss.voice.metadata : voice_ids
- ir.attachment : original_id
- res.company : company_id
- theme.ir.attachment : theme_template_id
- website : website_id
Champs d'autres modèles qui pointent ici
- account.bank.statement : attachment_ids
- account.edi.document : attachment_id
- account.move : import_source_attachment_id, invoice_pdf_report_id, ubl_cii_xml_id
- applicant.get.refuse.reason : attachment_ids
- discuss.voice.metadata : attachment_id
- fleet.vehicle.send.mail : attachment_ids
- hr.employee : message_main_attachment_id
- hr.leave : supported_attachment_ids
- hr.recruitment.survey.invite : attachment_ids
- ir.attachment : original_id
- l10n.fr.pdp.reports.flow : payload_id
- mail.activity : attachment_ids
- mail.call.artifact : media_id
- mail.compose.message : attachment_ids
- mail.group.message : attachment_ids
- mail.mail : unrestricted_attachment_ids
- mail.message : attachment_ids
- mail.scheduled.message : attachment_ids
- mail.template : attachment_ids
- mail.template.preview : attachment_ids
- mail.thread.main.attachment : message_main_attachment_id
- mailing.mailing : attachment_ids
- pos.config : self_ordering_image_background_ids, self_ordering_image_home_ids
- product.document : ir_attachment_id
- project.task : displayed_image_id
- quotation.document : ir_attachment_id
- res.config.settings : pos_self_ordering_image_background_ids, pos_self_ordering_image_home_ids
- slide.channel.invite : attachment_ids
- snailmail.letter : attachment_id
- survey.invite : attachment_ids
Lire ce modèle par l'API
Exemple d'appel à l'API JSON-2 d'Odoo 20 : 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.attachment/search_read" \
-H "Authorization: bearer $ODOO_API_KEY" \
-H "X-Odoo-Database: votre-base" \
-H "Content-Type: application/json" \
-d '{"domain":[],"fields":["name","type","company_id","original_id","theme_template_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.attachment/search_read",
headers=headers,
json={"domain": [], "fields": ["name","type","company_id","original_id","theme_template_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-attachment">ir.attachment (Odoo 20.0)</a>Sources
- Code source du modèle sur GitHub
- Documentation Odoo 20 : ORM API
- Documentation Odoo 20 : API externe JSON-2
Données vérifiées le 25 septembre 2026 · Odoo 20.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.