Storage Image

storage_image
REPOSITORY
REPOSITORYOCA/storage
GIT
GIThttps://github.com/OCA/storage.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/storage/tree/19.0/storage_image
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYStorage
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSStéphane Bidoul, Laurent Mignon (ACSONE)
WEBSITE
WEBSITEhttps://github.com/OCA/storage
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:40:49
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector:
    - component
OCA/server-env:
    - server_environment
OCA/storage:
    - storage_thumbnail
    - storage_file
    - storage_backend
odoo/odoo:
    - base
    - base_sparse_field
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES python_slugify
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
External image management depending on Storage File module.

It include these features:

- image resizing: thumbnail, etc.
- store metadata like: checksum, mimetype

Use cases:

- product images on CDN for e-commerce website
- raw products images on cheap storage (ie AWS Glacier, AWS S3)

Code Analysis

Views touched (7)
XML IDNameModelTypeStatus
storage_file_replace_view_form storage.file.replace.form storage.file.replace form New
storage_image_view_form storage.image form New
storage_image_view_kanban storage.image kanban New
storage_image_view_search storage.image search New
storage_image_view_tree storage.image list New
view_storage_image_abstract_form image.relation.abstract form New
view_storage_image_abstract_kanban image.relation.abstract kanban New
Models touched (4)

New fields (5)
  • image_alt_name Char
    related='image_id.alt_name'
  • image_id Many2one → storage.image
    ondelete='cascade' required=True args: 'storage.image'
  • image_name Char
    related='image_id.name'
  • image_url Char
    related='image_id.image_medium_url'
  • sequence Integer
Public methods (0)

No public methods.

New fields (1)
  • file_type Selection
    ondelete={'image': 'set null'} selection_add=[('image', 'Image')]
Public methods (0)

No public methods.

New fields (1)
  • image_id Many2one → storage.image
    args: 'storage.image'
Public methods (2)
  • confirm(self)
  • default_get(self, fields_list)
    @api.model
    'default_get' method overloaded.

New fields (2)
  • alt_name Char
    string='Alt Image name'
  • file_id Many2one → storage.file
    ondelete='cascade' required=True args: 'storage.file', 'File'
Public methods (3)
  • create(self, vals_list)
    @api.model_create_multi
  • onchange_name(self)
    @api.onchange('name')
  • unlink(self)
REPOSITORY
REPOSITORYOCA/storage
GIT
GIThttps://github.com/OCA/storage.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/storage/tree/18.0/storage_image
VERSION
VERSION 1.3.0
CATEGORY
CATEGORYStorage
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, Simone Orsi, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/storage
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:15
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector:
    - component
OCA/server-env:
    - server_environment
OCA/storage:
    - storage_thumbnail
    - storage_file
    - storage_backend
odoo/odoo:
    - base
    - base_sparse_field
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES python_slugify
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
External image management depending on Storage File module.

It include these features:

- image resizing: thumbnail, etc.
- store metadata like: checksum, mimetype

Use cases:

- product images on CDN for e-commerce website
- raw products images on cheap storage (ie AWS Glacier, AWS S3)

Code Analysis

Views touched (7)
XML IDNameModelTypeStatus
storage_file_replace_view_form storage.file.replace.form storage.file.replace form New
storage_image_view_form storage.image form New
storage_image_view_kanban storage.image kanban New
storage_image_view_search storage.image search New
storage_image_view_tree storage.image list New
view_storage_image_abstract_form image.relation.abstract form New
view_storage_image_abstract_kanban image.relation.abstract kanban New
Models touched (4)

New fields (7)
  • active Boolean
    readonly=True related='image_id.active'
  • image_alt_name Char
    related='image_id.alt_name'
  • image_id Many2one → storage.image
    ondelete='cascade' required=True args: 'storage.image'
  • image_name Char
    related='image_id.name'
  • image_url Char
    related='image_id.image_medium_url'
  • is_public Boolean
    readonly=True related='image_id.file_id.is_public'
  • sequence Integer
Public methods (0)

No public methods.

New fields (1)
  • file_type Selection
    ondelete={'image': 'set null'} selection_add=[('image', 'Image')]
Public methods (0)

No public methods.

New fields (1)
  • image_id Many2one → storage.image
    args: 'storage.image'
Public methods (2)
  • confirm(self)
  • default_get(self, fields_list)
    @api.model
    'default_get' method overloaded.

New fields (2)
  • alt_name Char
    string='Alt Image name'
  • file_id Many2one → storage.file
    ondelete='cascade' required=True args: 'storage.file', 'File'
Public methods (3)
  • create(self, vals_list)
    @api.model_create_multi
  • onchange_name(self)
    @api.onchange('name')
  • unlink(self)
REPOSITORY
REPOSITORYOCA/storage
GIT
GIThttps://github.com/OCA/storage.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/storage/tree/15.0/storage_image
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYStorage
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSMiquel Raïch, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/storage
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:37
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector:
    - component
OCA/server-env:
    - server_environment
OCA/storage:
    - storage_thumbnail
    - storage_file
    - storage_backend
odoo/odoo:
    - base
    - base_sparse_field
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES python_slugify
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
storage_image_view_form storage.image form New
storage_image_view_kanban storage.image kanban New
storage_image_view_search storage.image search New
storage_image_view_tree storage.image tree New
view_storage_image_abstract_form image.relation.abstract form New
view_storage_image_abstract_kanban image.relation.abstract kanban New
Models touched (3)

New fields (5)
  • image_alt_name Char
    related='image_id.alt_name'
  • image_id Many2one → storage.image
    ondelete='cascade' required=True args: 'storage.image'
  • image_name Char
    related='image_id.name'
  • image_url Char
    related='image_id.image_medium_url'
  • sequence Integer
Public methods (0)

No public methods.

New fields (1)
  • file_type Selection
    ondelete={'image': 'set null'} selection_add=[('image', 'Image')]
Public methods (0)

No public methods.

New fields (2)
  • alt_name Char
    string='Alt Image name'
  • file_id Many2one → storage.file
    ondelete='cascade' required=True args: 'storage.file', 'File'
Public methods (3)
  • create(self, vals)
    @api.model
  • onchange_name(self)
    @api.onchange('name')
  • unlink(self)
REPOSITORY
REPOSITORYOCA/storage
GIT
GIThttps://github.com/OCA/storage.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/storage/tree/14.0/storage_image
VERSION
VERSION 2.3.1
CATEGORY
CATEGORYStorage
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSLaurent Mignon (ACSONE), Enric Tobella, Ivàn Todorovich, Sébastien BEAU, oca-travis, Weblate, OCA-git-bot, Simone Orsi, Pierrick Brun, oca-ci, oca-git-bot, Mmequignon
WEBSITE
WEBSITEhttps://github.com/OCA/storage
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:04
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector:
    - component
OCA/server-env:
    - server_environment
OCA/storage:
    - storage_thumbnail
    - storage_file
    - storage_backend
odoo/odoo:
    - base
    - base_sparse_field
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES python_slugify
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
assets_backend assets_backend ir.ui.view qweb Inherits web.assets_backend
storage_file_replace_view_form storage.file.replace.form storage.file.replace form New
storage_image_view_form storage.image form New
storage_image_view_kanban storage.image kanban New
storage_image_view_search storage.image search New
storage_image_view_tree storage.image tree New
view_storage_image_abstract_form image.relation.abstract form New
view_storage_image_abstract_kanban image.relation.abstract kanban New
Models touched (4)

New fields (5)
  • image_alt_name Char
    related='image_id.alt_name'
  • image_id Many2one → storage.image
    ondelete='cascade' required=True args: 'storage.image'
  • image_name Char
    related='image_id.name'
  • image_url Char
    related='image_id.image_medium_url'
  • sequence Integer
Public methods (0)

No public methods.

New fields (1)
  • file_type Selection
    ondelete={'image': 'set null'} selection_add=[('image', 'Image')]
Public methods (0)

No public methods.

New fields (1)
  • image_id Many2one → storage.image
    args: 'storage.image'
Public methods (2)
  • confirm(self)
  • default_get(self, fields_list)
    @api.model
    'default_get' method overloaded.

New fields (2)
  • alt_name Char
    string='Alt Image name'
  • file_id Many2one → storage.file
    ondelete='cascade' required=True args: 'storage.file', 'File'
Public methods (3)
  • create(self, vals)
    @api.model
  • onchange_name(self)
    @api.onchange('name')
  • unlink(self)
REPOSITORY
REPOSITORYOCA/storage
GIT
GIThttps://github.com/OCA/storage.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/storage/tree/13.0/storage_image
VERSION
VERSION 1.5.1
CATEGORY
CATEGORYStorage
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSLaurent Mignon (ACSONE), Enric Tobella, Sébastien BEAU, oca-travis, OCA-git-bot, Simone Orsi, Quentin Groulard, Matthieu Méquignon
WEBSITE
WEBSITEhttps://github.com/OCA/storage
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:16
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector:
    - component
OCA/server-env:
    - server_environment
OCA/storage:
    - storage_thumbnail
    - storage_file
    - storage_backend
odoo/odoo:
    - base
    - base_sparse_field
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES python_slugify
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
assets_backend storage_image assets ir.ui.view qweb Inherits web.assets_backend
assets_backend web_dashboard_tile assets ir.ui.view qweb Inherits web.assets_backend
storage_image_view_form storage.image form New
storage_image_view_kanban storage.image kanban New
storage_image_view_search storage.image search New
storage_image_view_tree storage.image tree New
Models touched (3)

New fields (4)
  • image_id Many2one → storage.image
    ondelete='cascade' required=True args: 'storage.image'
  • image_name Char
    related='image_id.name'
  • image_url Char
    related='image_id.image_medium_url'
  • sequence Integer
Public methods (0)

No public methods.

New fields (1)
  • file_type Selection
    selection_add=[('image', 'Image')]
Public methods (0)

No public methods.

New fields (2)
  • alt_name Char
    string='Alt Image name'
  • file_id Many2one → storage.file
    ondelete='cascade' required=True args: 'storage.file', 'File'
Public methods (3)
  • create(self, vals)
    @api.model
  • onchange_name(self)
    @api.onchange('name')
  • unlink(self)
REPOSITORY
REPOSITORYOCA/storage
GIT
GIThttps://github.com/OCA/storage.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/storage/tree/12.0/storage_image
VERSION
VERSION 2.4.2
CATEGORY
CATEGORYStorage
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSGitHub, Laurent Mignon (ACSONE), Denis Roussel, Stéphane Bidoul (ACSONE), Sebastien Beau, Sébastien BEAU, oca-travis, OCA-git-bot, Tom Blauwendraat, Simone Orsi, hparfr, Quentin Groulard
WEBSITE
WEBSITEhttps://github.com/OCA/storage
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:21
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector:
    - component
OCA/server-env:
    - server_environment
OCA/storage:
    - storage_thumbnail
    - storage_file
    - storage_backend
odoo/odoo:
    - base
    - base_sparse_field
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES slugify
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
assets_backend storage_image assets ir.ui.view qweb Inherits web.assets_backend
assets_backend web_dashboard_tile assets ir.ui.view qweb Inherits web.assets_backend
storage_image_view_form storage.image form New
storage_image_view_kanban storage.image kanban New
storage_image_view_search storage.image search New
storage_image_view_tree storage.image tree New
Models touched (3)

New fields (4)
  • image_id Many2one → storage.image
    required=True args: 'storage.image'
  • image_name Char
    related='image_id.name'
  • image_url Char
    related='image_id.image_medium_url'
  • sequence Integer
Public methods (0)

No public methods.

New fields (1)
  • file_type Selection
    selection_add=[('image', 'Image')]
Public methods (0)

No public methods.

New fields (2)
  • alt_name Char
    string='Alt Image name'
  • file_id Many2one → storage.file
    ondelete='cascade' required=True args: 'storage.file', 'File'
Public methods (3)
  • create(self, vals)
    @api.model
  • onchange_name(self)
    @api.onchange('name')
  • unlink(self)
REPOSITORY
REPOSITORYOCA/storage
GIT
GIThttps://github.com/OCA/storage.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/storage/tree/10.0/storage_image
VERSION
VERSION 1.1.1
CATEGORY
CATEGORYStorage
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSRenato Lima, GitHub, Laurent Mignon (ACSONE), Denis Roussel, Sébastien BEAU, Florian da Costa, beau sebastien, David Beal, oca-travis, OCA-git-bot, Benoit, hparfr, Raph, François Honoré, Quentin Groulard
WEBSITE
WEBSITEhttps://github.com/OCA/storage
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:19:59
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector:
    - component
OCA/server-tools:
    - keychain
OCA/storage:
    - storage_thumbnail
    - storage_file
    - storage_backend
odoo/odoo:
    - base
    - base_setup
    - web_kanban
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES slugify
cryptography
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
assets_backend storage_image assets ir.ui.view qweb Inherits web.assets_backend
assets_backend web_dashboard_tile assets ir.ui.view qweb Inherits web.assets_backend
storage_image_view_form storage.image form New
storage_image_view_kanban storage.image kanban New
storage_image_view_search storage.image search New
storage_image_view_tree storage.image tree New
Models touched (3)

New fields (4)
  • image_id Many2one → storage.image
    required=True args: 'storage.image'
  • image_name Char
    related='image_id.name'
  • image_url Char
    related='image_id.image_medium_url'
  • sequence Integer
Public methods (0)

No public methods.

New fields (1)
  • file_type Selection
    selection_add=[('image', 'Image')]
Public methods (0)

No public methods.

New fields (2)
  • alt_name Char
    string='Alt Image name'
  • file_id Many2one → storage.file
    ondelete='cascade' required=True args: 'storage.file', 'File'
Public methods (3)
  • create(self, vals)
    @api.model
  • onchange_name(self)
    @api.onchange('name')
  • unlink(self)