Skip to Content
Odoo model

ir.attachment

Attachment. Defined in module base; exists in Odoo 16, 17, 18, 19, 20. Across the upgrade steps we tracked: 7 fields added, 3 removed, 0 renamed.

  1. Odoo 16 base
  2. Odoo 17 base
  3. Odoo 18 base
  4. Odoo 19 base
  5. Odoo 20 base

Odoo 16 to 17

Community only All changes in this step

Fields removed (1)

FieldTypeModuleNotes
product_downloadablebooleanwebsite_sale_digitalIts module (website_sale_digital) is not in Odoo 17: removed, renamed or merged into another module.

Fields added (1)

FieldTypeModule
voice_idsone2manymail

Odoo 17 to 18

Community only All changes in this step

Now also inherits bus.listener.mixin (fields from these parents are listed on their own pages).

Odoo 18 to 19

Community + Enterprise All changes in this step

Fields removed (1)

FieldTypeModuleNotes
can_be_deletedbooleanl10n_in_enet_batch_paymentIts module (l10n_in_enet_batch_payment) is not in Odoo 19: removed, renamed or merged into another module.

Fields added (2)

FieldTypeModule
has_thumbnailbooleanmail
thumbnailimagemail

Odoo 19 to 20

Community + Enterprise All changes in this step

Fields removed (1)

FieldTypeModuleNotes
datasbinarybase

Fields added (4)

FieldTypeModule
ai_sources_idsone2manyai
linked_document_idmany2onedocuments
res_access_readbooleanbase
res_access_writebooleanbase

Now also inherits ai.embedding.mixin (fields from these parents are listed on their own pages).

1 views of this model removed
  • data_cleaning.view_data_storage_attachment_tree

All fields declared on ir.attachment (37)

Fields this model declares itself in any version, with the versions they exist in. Inherited fields (mail.thread and other mixins) are on the parent model's page.

present not present not covered (Enterprise, Odoo 16 and 17)

Show all 37 fields
FieldTypeLabelModule1617181920
access_tokencharAccess Tokenbase
ai_sources_idsone2many ai.agent.sourceAI Agent SourcesaiE
can_be_deletedbooleanCan Be Deleted?l10n_in_enet_batch_paymentE
checksumcharChecksum/SHA1base
company_idmany2one res.companyCompanybase
datasbinaryFile Content (base64)base
db_datasbinaryDatabase Database
descriptiontextDescriptionbase
document_idsone2many documents.documentdocumentsE
file_sizeintegerFile Sizebase
has_thumbnailbooleanmail
image_heightintegerhtml_editor
image_srccharhtml_editor
image_widthintegerhtml_editor
index_contenttextIndexed Contentbase
keycharwebsite
linked_document_idmany2one documents.documentdocumentsE
local_urlcharAttachment URLhtml_editor
mimetypecharMime Typebase
namecharNamebase
original_idmany2one ir.attachmentOriginal (unoptimized, unresized) attachmenthtml_editor
product_downloadablebooleanDownloadable from product portalwebsite_sale_digital
publicbooleanIs public documentbase
rawbinaryFile Content (raw)base
res_access_readbooleanbase
res_access_writebooleanbase
res_fieldcharResource Fieldbase
res_idmany2one_referenceResource IDbase
res_modelcharResource Modelbase
res_namecharResource Namebase
store_fnamecharStored Filenamebase
theme_template_idmany2one theme.ir.attachmentwebsite
thumbnailimagemail
typeselectionTypebase
urlcharUrlbase
voice_idsone2many discuss.voice.metadatamail
website_idmany2one websitewebsite
Coverage. Odoo 16 to 17 and 17 to 18 compare Community modules only (the Enterprise 16 and 17 sources are not available to us). Odoo 18 to 19 and 19 to 20 include Community and Enterprise modules. Everything here comes from a static read of the Odoo source code: a field counts as removed only when no parent model, mixin or delegated model still provides it. Fields created dynamically at run time can be missed, and entries we could not confirm are marked as low confidence.