Fs Base Multi Media

fs_base_multi_media
REPOSITORY
REPOSITORYOCA/storage
GIT
GIThttps://github.com/OCA/storage.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/storage/tree/17.0/fs_base_multi_media
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion, ACSONE SA/NV
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion, ACSONE SA/NV
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, chien
WEBSITE
WEBSITEhttps://github.com/OCA/storage
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:08
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/server-env:
    - server_environment
OCA/storage:
    - fs_file
    - fs_attachment
    - fs_storage
odoo/odoo:
    - base
    - base_sparse_field
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES fsspec>=2025.3.0
python_slugify
fsspec>=2024.5.0
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This addon allows you to store media file into external filesystem from
odoo. It also provides is a technical mixin model to ease the creation
of other models that need to be linked to multiple medias stored into
external filesystems.

The models provided by this addon are:

- `fs.media`: a model that stores a reference to an media stored into an
  external filesystem.
- `fs.media.relation.mixin`: an abstract model that can be used to as
  base class for models created to store an media linked to a model.
  This abstract model defines fields and methods to transparently handle
  2 cases:
  - the media is specific to the model.
  - the media is shared between multiple models and therefore is a
    `fs.media` instance linked to the mixin.

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
fs_media_form_view fs.media.form fs.media form New
fs_media_relation_mixin_form_view fs.media.relation.mixin.form fs.media.relation.mixin form New
fs_media_relation_mixin_tree_view fs.media.relation.mixin.tree fs.media.relation.mixin tree New
fs_media_search_view fs.media.search fs.media search New
fs_media_tree_view fs.media.tree fs.media tree New
fs_media_type_view_form fs.media.type form New
fs_media_type_view_search fs.media.type search New
fs_media_type_view_tree fs.media.type tree New
Models touched (3)

New fields (3)
  • media_type_id Many2one → fs.media.type
    args: 'fs.media.type', 'Media Type'
  • mimetype Char
    compute='_compute_mimetype' store=True
  • name Char
    compute='_compute_name' index=True store=True
Public methods (0)

No public methods.

New fields (7)
  • link_existing Boolean
    default=False string='Link existing media'
  • media_id Many2one → fs.media
    comodel_name='fs.media' string='Linked media'
  • media_type_id Many2one → fs.media.type
    compute='_compute_media' store=False args: 'fs.media.type'
  • mimetype Char
    compute='_compute_mimetype' store=True
  • name Char
    compute='_compute_name' index=True store=True
  • sequence Integer
  • specific_media_type_id Many2one → fs.media.type
    args: 'fs.media.type'
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, vals)

New fields (2)
  • code Char
  • name Char
    required=True translate=True
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/16.0/fs_base_multi_media
VERSION
VERSION 1.0.2
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion, ACSONE SA/NV
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion, ACSONE SA/NV
COMMITTERS
COMMITTERSLaurent Mignon (ACSONE), Weblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/storage
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:52
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/storage:
    - fs_file
    - fs_attachment
    - fs_storage
odoo/odoo:
    - base
    - base_sparse_field
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES fsspec>=2025.3.0
python_slugify
fsspec>=2024.5.0
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
fs_media_form_view fs.media.form fs.media form New
fs_media_relation_mixin_form_view fs.media.relation.mixin.form fs.media.relation.mixin form New
fs_media_relation_mixin_tree_view fs.media.relation.mixin.tree fs.media.relation.mixin tree New
fs_media_search_view fs.media.search fs.media search New
fs_media_tree_view fs.media.tree fs.media tree New
fs_media_type_view_form fs.media.type form New
fs_media_type_view_search fs.media.type search New
fs_media_type_view_tree fs.media.type tree New
Models touched (3)

New fields (3)
  • media_type_id Many2one → fs.media.type
    args: 'fs.media.type', 'Media Type'
  • mimetype Char
    compute='_compute_mimetype' store=True
  • name Char
    compute='_compute_name' index=True store=True
Public methods (0)

No public methods.

New fields (7)
  • link_existing Boolean
    default=False string='Link existing media'
  • media_id Many2one → fs.media
    comodel_name='fs.media' string='Linked media'
  • media_type_id Many2one → fs.media.type
    compute='_compute_media' store=False args: 'fs.media.type'
  • mimetype Char
    compute='_compute_mimetype' store=True
  • name Char
    compute='_compute_name' index=True store=True
  • sequence Integer
  • specific_media_type_id Many2one → fs.media.type
    args: 'fs.media.type'
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, vals)

New fields (2)
  • code Char
  • name Char
    required=True translate=True
Public methods (0)

No public methods.