TIP: You can type at any time to perform a new search.
Fs Product Multi Media
fs_product_multi_media · OCA/storage
- 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 ID | Name | Model | Type | Status |
|---|---|---|---|---|
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_idMany2one → product.categorycomodel_name='product.category'index=Trueondelete='cascade'string='Product Category'
No public methods.
New fields (3)
-
attribute_value_idsMany2many → product.attribute.valuedomain="[('id', 'in', available_attribute_value_ids)]"string='Attributes' args: 'product.attribute.value' -
available_attribute_value_idsMany2many → product.attribute.valuecompute='_compute_available_attribute'string='Available Attributes' args: 'product.attribute.value' -
product_tmpl_idMany2one → product.templatecomodel_name='product.template'index=Trueondelete='cascade'string='Product Template'
No public methods.
New fields (1)
-
media_idsOne2many → fs.product.category.mediacomodel_name='fs.product.category.media'inverse_name='product_categ_id'string='Medias'
No public methods.
New fields (1)
-
variant_media_idsMany2many → fs.product.mediacompute='_compute_variant_media_ids'store=Truestring='Variant Medias' args: 'fs.product.media'
No public methods.
New fields (1)
-
media_idsOne2many → fs.product.mediacomodel_name='fs.product.media'inverse_name='product_tmpl_id'string='Medias'
No public methods.
New fields (0)
No new fields.
Public methods (2)-
unlink(self) -
write(self, values)
Loading…