Repository
OCA/storage · module folder · Try on Runboat
Module version
1.0.0
Category
Uncategorized
Folder size
0.07 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/storage
Last tracking update
2026-08-07 08:23:01
Authors
Akretion, ACSONE SA/NV, Odoo Community Association (OCA)
Maintainers
Akretion, ACSONE SA/NV, Odoo Community Association (OCA)
Committers
Weblate, OCA-git-bot, oca-ci, chien
Odoo dependencies
Python dependencies
fsspec>=2025.3.0, python_slugify, fsspec>=2024.5.0
System dependencies
None
Required by
None
Description
Attach medias to products and categories and store them on an external
filesystem instead of the database.

This addon is a drop-in replacement for the **storage_media_product**
addon.

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
fs_product_category_media_form_view product.category.fs.media.form fs.product.category.media form Inherits fs_base_multi_media.fs_media_relation_mixin_form_view
fs_product_media_form_view fs.product.media.form fs.product.media form Inherits fs_base_multi_media.fs_media_relation_mixin_form_view
product_category_form_view product.category.form product.category form Inherits product.product_category_form_view
product_normal_form_view product.product form Inherits product.product_normal_form_view
product_template_only_form_view product.template form Inherits product.product_template_only_form_view
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (6)

New fields (1)
  • product_categ_id Many2one → product.category
    comodel_name='product.category' index=True ondelete='cascade' string='Product Category'
Public methods (0)

No public methods.

New fields (3)
  • attribute_value_ids Many2many → product.attribute.value
    domain="[('id', 'in', available_attribute_value_ids)]" 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'
  • product_tmpl_id Many2one → product.template
    comodel_name='product.template' index=True ondelete='cascade' string='Product Template'
Public methods (0)

No public methods.

New fields (1)
  • media_ids One2many → fs.product.category.media
    comodel_name='fs.product.category.media' inverse_name='product_categ_id' string='Medias'
Public methods (0)

No public methods.

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

No public methods.

New fields (1)
  • media_ids One2many → fs.product.media
    comodel_name='fs.product.media' inverse_name='product_tmpl_id' string='Medias'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (2)
  • unlink(self)
  • write(self, values)

Loading…