Storage Media Product

storage_media_product
REPOSITORY
REPOSITORYOCA/storage
GIT
GIThttps://github.com/OCA/storage.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/storage/tree/19.0/storage_media_product
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_media
    - storage_file
    - storage_backend
    - storage_thumbnail
odoo/odoo:
    - base
    - base_sparse_field
    - product
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
    - uom
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES python_slugify
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Attach images to products and categories

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
product_category_form_view product.category xpath Inherits product.product_category_form_view
product_media_relation_form product.media.relation form New
product_media_relation_tree product.media.relation list New
product_normal_form_view product.product xpath Inherits product.product_normal_form_view
product_template_only_form_view product.template xpath Inherits product.product_template_only_form_view
Models touched (4)

New fields (1)
  • media_ids Many2many → storage.media
    args: 'storage.media'
Public methods (0)

No public methods.

New fields (11)
  • attribute_value_ids Many2many → product.attribute.value
    string='Attributes' args: 'product.attribute.value'
  • available_attribute_value_ids Many2many → product.attribute.value
    compute='_compute_available_attribute' string='Available attributes' args: 'product.attribute.value'
  • description Text
  • media_id Many2one → storage.media
    required=True args: 'storage.media'
  • media_type_id Many2one → storage.media.type
    related='media_id.media_type_id' args: 'storage.media.type', 'Media Type'
  • media_type_id Many2one
    readonly=True related='media_id.media_type_id'
  • name Char
    readonly=True related='media_id.name'
  • product_tmpl_id Many2one → product.template
    args: 'product.template'
  • sequence Integer
  • url Char
    readonly=True related='media_id.url'
  • url_path Char
    readonly=True related='media_id.url_path'
Public methods (0)

No public methods.

New fields (1)
  • variant_media_ids Many2many → product.media.relation
    compute='_compute_variant_media_ids' store=True args: 'product.media.relation'
Public methods (0)

No public methods.

New fields (1)
  • media_ids One2many → product.media.relation
    inverse_name='product_tmpl_id' args: 'product.media.relation'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/storage
GIT
GIThttps://github.com/OCA/storage.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/storage/tree/18.0/storage_media_product
VERSION
VERSION 1.1.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_media
    - storage_file
    - storage_backend
    - storage_thumbnail
odoo/odoo:
    - base
    - base_sparse_field
    - product
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
    - uom
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES python_slugify
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Attach images to products and categories

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
product_category_form_view product.category xpath Inherits product.product_category_form_view
product_media_relation_form product.media.relation form New
product_media_relation_tree product.media.relation list New
product_normal_form_view product.product xpath Inherits product.product_normal_form_view
product_template_only_form_view product.template xpath Inherits product.product_template_only_form_view
Models touched (4)

New fields (1)
  • media_ids Many2many → storage.media
    args: 'storage.media'
Public methods (0)

No public methods.

New fields (13)
  • active Boolean
    readonly=True related='media_id.active'
  • attribute_value_ids Many2many → product.attribute.value
    string='Attributes' args: 'product.attribute.value'
  • available_attribute_value_ids Many2many → product.attribute.value
    compute='_compute_available_attribute' string='Available attributes' args: 'product.attribute.value'
  • description Text
  • is_public Boolean
    readonly=True related='media_id.file_id.is_public'
  • media_id Many2one → storage.media
    required=True args: 'storage.media'
  • media_type_id Many2one → storage.media.type
    related='media_id.media_type_id' args: 'storage.media.type', 'Media Type'
  • media_type_id Many2one
    readonly=True related='media_id.media_type_id'
  • name Char
    readonly=True related='media_id.name'
  • product_tmpl_id Many2one → product.template
    args: 'product.template'
  • sequence Integer
  • url Char
    readonly=True related='media_id.url'
  • url_path Char
    readonly=True related='media_id.url_path'
Public methods (0)

No public methods.

New fields (1)
  • variant_media_ids Many2many → product.media.relation
    compute='_compute_variant_media_ids' store=True args: 'product.media.relation'
Public methods (0)

No public methods.

New fields (1)
  • media_ids One2many → product.media.relation
    inverse_name='product_tmpl_id' args: 'product.media.relation'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/storage
GIT
GIThttps://github.com/OCA/storage.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/storage/tree/14.0/storage_media_product
VERSION
VERSION 2.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
COMMITTERSEnric Tobella, Thierry Ducrest, Sébastien BEAU, oca-travis, Weblate, OCA-git-bot, Simone Orsi, Pierrick Brun, oca-ci, Héctor Villarreal Ortega, Hai Lang
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_media
    - storage_file
    - storage_backend
    - storage_thumbnail
odoo/odoo:
    - base
    - base_sparse_field
    - product
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES python_slugify
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
product_category_form_view product.category xpath Inherits product.product_category_form_view
product_media_relation_form product.media.relation form New
product_media_relation_tree product.media.relation tree New
product_normal_form_view product.product xpath Inherits product.product_normal_form_view
product_template_only_form_view product.template xpath Inherits product.product_template_only_form_view
Models touched (4)

New fields (1)
  • media_ids Many2many → storage.media
    args: 'storage.media'
Public methods (0)

No public methods.

New fields (12)
  • attribute_value_ids Many2many → product.attribute.value
    string='Attributes' args: 'product.attribute.value'
  • available_attribute_value_ids Many2many → product.attribute.value
    compute='_compute_available_attribute' string='Available attributes' args: 'product.attribute.value'
  • description Text
  • is_media_active Boolean
    related='media_id.active'
  • media_id Many2one → storage.media
    required=True args: 'storage.media'
  • media_type_id Many2one → storage.media.type
    related='media_id.media_type_id' args: 'storage.media.type', 'Media Type'
  • media_type_id Many2one
    readonly=True related='media_id.media_type_id'
  • name Char
    readonly=True related='media_id.name'
  • product_tmpl_id Many2one → product.template
    args: 'product.template'
  • sequence Integer
  • url Char
    readonly=True related='media_id.url'
  • url_path Char
    readonly=True related='media_id.url_path'
Public methods (0)

No public methods.

New fields (1)
  • variant_media_ids Many2many → product.media.relation
    compute='_compute_variant_media_ids' store=True args: 'product.media.relation'
Public methods (0)

No public methods.

New fields (1)
  • media_ids One2many → product.media.relation
    inverse_name='product_tmpl_id' args: 'product.media.relation'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/storage
GIT
GIThttps://github.com/OCA/storage.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/storage/tree/13.0/storage_media_product
VERSION
VERSION 1.2.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
COMMITTERSEnric Tobella, Thierry Ducrest, oca-travis, OCA-git-bot, Simone Orsi, Iryna Vyshnevska
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_media
    - storage_file
    - storage_backend
    - storage_thumbnail
odoo/odoo:
    - base
    - base_sparse_field
    - product
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES python_slugify
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
product_category_form_view product.category xpath Inherits product.product_category_form_view
product_media_relation_form product.media.relation form New
product_media_relation_tree product.media.relation tree New
product_normal_form_view product.product xpath Inherits product.product_normal_form_view
product_template_only_form_view product.template xpath Inherits product.product_template_only_form_view
Models touched (4)

New fields (1)
  • media_ids Many2many → storage.media
    args: 'storage.media'
Public methods (0)

No public methods.

New fields (9)
  • attribute_value_ids Many2many → product.attribute.value
    string='Attributes' args: 'product.attribute.value'
  • available_attribute_value_ids Many2many → product.attribute.value
    compute='_compute_available_attribute' string='Available attributes' args: 'product.attribute.value'
  • media_id Many2one → storage.media
    required=True args: 'storage.media'
  • media_type_id Many2one → storage.media.type
    related='media_id.media_type_id' args: 'storage.media.type', 'Media Type'
  • media_type_id Many2one
    readonly=True related='media_id.media_type_id'
  • name Char
    readonly=True related='media_id.name'
  • product_tmpl_id Many2one → product.template
    args: 'product.template'
  • sequence Integer
  • url Char
    readonly=True related='media_id.url'
Public methods (0)

No public methods.

New fields (1)
  • variant_media_ids Many2many → product.media.relation
    compute='_compute_variant_media_ids' store=True args: 'product.media.relation'
Public methods (0)

No public methods.

New fields (1)
  • media_ids One2many → product.media.relation
    inverse_name='product_tmpl_id' args: 'product.media.relation'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/storage
GIT
GIThttps://github.com/OCA/storage.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/storage/tree/12.0/storage_media_product
VERSION
VERSION 2.0.0
CATEGORY
CATEGORYStorage
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSLaurent Mignon (ACSONE), Denis Roussel, Stéphane Bidoul (ACSONE), Tom Blauwendraat
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_media
    - storage_file
    - storage_backend
    - storage_thumbnail
odoo/odoo:
    - base
    - base_sparse_field
    - product
    - decimal_precision
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES slugify
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
product_category_form_view product.category xpath Inherits product.product_category_form_view
product_media_relation_form product.media.relation form New
product_media_relation_tree product.media.relation tree New
product_normal_form_view product.product xpath Inherits product.product_normal_form_view
product_template_only_form_view product.template xpath Inherits product.product_template_only_form_view
Models touched (4)

New fields (1)
  • media_ids Many2many → storage.media
    args: 'storage.media'
Public methods (0)

No public methods.

New fields (9)
  • attribute_value_ids Many2many → product.attribute.value
    string='Attributes' args: 'product.attribute.value'
  • available_attribute_value_ids Many2many → product.attribute.value
    compute='_compute_available_attribute' string='Attributes' args: 'product.attribute.value'
  • media_id Many2one → storage.media
    required=True args: 'storage.media'
  • media_type_id Many2one → storage.media.type
    related='media_id.media_type_id' args: 'storage.media.type', 'Media Type'
  • media_type_id Many2one
    readonly=True related='media_id.media_type_id'
  • name Char
    readonly=True related='media_id.name'
  • product_tmpl_id Many2one → product.template
    args: 'product.template'
  • sequence Integer
  • url Char
    readonly=True related='media_id.url'
Public methods (0)

No public methods.

New fields (1)
  • variant_media_ids Many2many → product.media.relation
    compute='_compute_variant_media_ids' store=True args: 'product.media.relation'
Public methods (0)

No public methods.

New fields (1)
  • media_ids One2many → product.media.relation
    inverse_name='product_tmpl_id' args: 'product.media.relation'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/storage
GIT
GIThttps://github.com/OCA/storage.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/storage/tree/10.0/storage_media_product
VERSION
VERSION 2.0.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
COMMITTERSLaurent Mignon (ACSONE), Denis Roussel, Sébastien BEAU, oca-travis, OCA-git-bot, Benoit
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_media
    - storage_file
    - storage_backend
    - storage_thumbnail
odoo/odoo:
    - base
    - base_setup
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - report
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES slugify
cryptography
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
product_category_form_view product.category xpath Inherits product.product_category_form_view
product_media_relation_form product.media.relation form New
product_media_relation_tree product.media.relation tree New
product_normal_form_view product.product xpath Inherits product.product_normal_form_view
product_template_only_form_view product.template xpath Inherits product.product_template_only_form_view
Models touched (4)

New fields (1)
  • media_ids Many2many → storage.media
    args: 'storage.media'
Public methods (0)

No public methods.

New fields (9)
  • attribute_value_ids Many2many → product.attribute.value
    string='Attributes' args: 'product.attribute.value'
  • available_attribute_value_ids Many2many → product.attribute.value
    compute='_compute_available_attribute' string='Attributes' args: 'product.attribute.value'
  • media_id Many2one → storage.media
    required=True args: 'storage.media'
  • media_type_id Many2one → storage.media.type
    related='media_id.media_type_id' args: 'storage.media.type', 'Media Type'
  • media_type_id Many2one
    readonly=True related='media_id.media_type_id'
  • name Char
    readonly=True related='media_id.name'
  • product_tmpl_id Many2one → product.template
    args: 'product.template'
  • sequence Integer
  • url Char
    readonly=True related='media_id.url'
Public methods (0)

No public methods.

New fields (1)
  • variant_media_ids Many2many → product.media.relation
    compute='_compute_variant_media_ids' store=True args: 'product.media.relation'
Public methods (0)

No public methods.

New fields (1)
  • media_ids One2many → product.media.relation
    inverse_name='product_tmpl_id' args: 'product.media.relation'
Public methods (0)

No public methods.