Multiple images base

base_multi_image
REPOSITORY
REPOSITORYOCA/server-tools
GIT
GIThttps://github.com/OCA/server-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-tools/tree/18.0/base_multi_image
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYTools
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), LasLabs, Sodexis, Antiun Ingeniería, S.L., Omal Bastin (O4ODOO)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), LasLabs, Sodexis, Antiun Ingeniería, S.L., Omal Bastin (O4ODOO)
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Bhavesh Heliconia
WEBSITE
WEBSITEhttps://github.com/OCA/server-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:08
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module extends the functionality of any model to support multiple
images (a gallery) attached to it and allow you to manage them.

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
image_form_view Multi image form base_multi_image.image form New
image_kanban_view Product multi image kanban base_multi_image.image kanban New
image_tree_view Multi image tree base_multi_image.image list New
Models touched (2)

New fields (16)
  • attachment_id Many2one → ir.attachment
    domain="[('index_content', '=', 'image')]" string='Image stored in Attachment' args: 'ir.attachment'
  • attachment_image Image
    args: 'Image'
  • comments Text
    translate=True
  • extension Char
    readonly=True args: 'File extension'
  • file_db_store Binary
    attachment=False args: 'Image stored in database'
  • filename Char
  • image_1920 Image
    compute='_compute_image' max_height=1920 max_width=1920 store=False args: 'Full-sized image'
  • name Char
    translate=True args: 'Image title'
  • owner_id Integer
    required=True args: 'Owner'
  • owner_model Char
    required=True
  • owner_ref_id Reference
    compute='_compute_owner_ref_id' selection='_selection_owner_ref_id' store=True string='Referenced Owner'
  • path Char
    help='Image path' args: 'Image path'
  • sequence Integer
    default=10
  • show_technical Boolean
    compute='_compute_show_technical'
  • storage Selection
    default='filestore' required=True args: [('url', 'URL'), ('file', 'OS file'), ('db', 'Database'), ('filestore', 'Filestore'), ('attachment', 'Attachment')]
  • url Char
    args: 'Image remote URL'
Public methods (0)

No public methods.

New fields (2)
  • image_1920 Image
    compute='_compute_multi_image' inverse='_inverse_multi_image_main' store=False string='Main image'
  • image_ids One2many → base_multi_image.image
    comodel_name='base_multi_image.image' copy=True domain=<expr> inverse_name='owner_id' string='Images'
Public methods (1)
  • unlink(self)
    Mimic `ondelete="cascade"` for multi images. Will be skipped if ``env.context['bypass_image_removal']`` == True
REPOSITORY
REPOSITORYOCA/server-tools
GIT
GIThttps://github.com/OCA/server-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-tools/tree/16.0/base_multi_image
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYTools
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), LasLabs, Sodexis, Antiun Ingeniería, S.L., OpenFire
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), LasLabs, Sodexis, Antiun Ingeniería, S.L., OpenFire
COMMITTERS
COMMITTERSGabbasovDinar, Weblate, OCA-git-bot, oca-ci, Ignacio J. Ortega
WEBSITE
WEBSITEhttps://github.com/OCA/server-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:53
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
image_form_view Multi image form base_multi_image.image form New
image_kanban_view Multi image kanban base_multi_image.image kanban New
image_tree_view Multi image tree base_multi_image.image tree New
Models touched (2)

New fields (8)
  • comments Text
    translate=True
  • load_from Char
    help='Either a remote url or a file path on the server' store=False string='Load from'
  • name Char
    string='Image title' translate=True
  • owner_id Integer
    required=True string='Owner'
  • owner_model Char
    required=True
  • owner_ref_id Reference
    compute='_compute_owner_ref_id' selection='_selection_owner_ref_id' store=True string='Referenced Owner'
  • sequence Integer
    default=10
  • show_technical Boolean
    compute='_compute_show_technical'
Public methods (0)

No public methods.

New fields (1)
  • image_ids One2many → base_multi_image.image
    comodel_name='base_multi_image.image' copy=True domain=<expr> inverse_name='owner_id' string='Images'
Public methods (1)
  • unlink(self)
    Mimic `ondelete="cascade"` for multi images. Will be skipped if ``env.context['bypass_image_removal']`` == True
REPOSITORY
REPOSITORYOCA/server-tools
GIT
GIThttps://github.com/OCA/server-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-tools/tree/15.0/base_multi_image
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYTools
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), LasLabs, Sodexis, Antiun Ingeniería, S.L.
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), LasLabs, Sodexis, Antiun Ingeniería, S.L.
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Fernando La Chica
WEBSITE
WEBSITEhttps://github.com/OCA/server-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:39
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
image_form_view Multi image form base_multi_image.image form New
image_kanban_view Product multi image kanban base_multi_image.image kanban New
image_tree_view Multi image tree base_multi_image.image tree New
Models touched (2)

New fields (17)
  • attachment_id Many2one → ir.attachment
    domain="[('index_content', '=', 'image')]" string='Attachment' args: 'ir.attachment'
  • comments Text
    translate=True
  • extension Char
    readonly=True args: 'File extension'
  • file_db_store Binary
    args: 'Image stored in database'
  • filename Char
  • image_main Image
    compute='_compute_image' args: 'Full-sized image'
  • image_medium Image
    help='Medium-sized image. It is automatically resized as a 128 x 128 px image, with aspect ratio preserved, only when the image exceeds one of those sizes. Use this field in form views or kanban views.' max_height=128 max_width=128 related='image_main' args: 'Medium-sized image'
  • image_small Image
    help='Small-sized image. It is automatically resized as a 64 x 64 px image, with aspect ratio preserved. Use this field anywhere a small image is required.' max_height=64 max_width=64 related='image_main' args: 'Small-sized image'
  • name Char
    translate=True args: 'Image title'
  • owner_id Integer
    required=True args: 'Owner'
  • owner_model Char
    required=True
  • owner_ref_id Reference
    compute='_compute_owner_ref_id' selection='_selection_owner_ref_id' store=True string='Referenced Owner'
  • path Char
    help='Image path' args: 'Image path'
  • sequence Integer
    default=10
  • show_technical Boolean
    compute='_compute_show_technical'
  • storage Selection
    default='filestore' required=True args: [('url', 'URL'), ('file', 'OS file'), ('db', 'Database'), ('filestore', 'Filestore')]
  • url Char
    args: 'Image remote URL'
Public methods (0)

No public methods.

New fields (4)
  • image_ids One2many → base_multi_image.image
    comodel_name='base_multi_image.image' copy=True domain=<expr> inverse_name='owner_id' string='Images'
  • image_main Binary
    compute='_compute_multi_image' inverse='_inverse_multi_image_main' store=False string='Main image'
  • image_main_medium Binary
    compute='_compute_multi_image' inverse='_inverse_multi_image_main_medium' store=False string='Medium image'
  • image_main_small Binary
    compute='_compute_multi_image' inverse='_inverse_multi_image_main_small' store=False string='Small image'
Public methods (1)
  • unlink(self)
    Mimic `ondelete="cascade"` for multi images. Will be skipped if ``env.context['bypass_image_removal']`` == True
REPOSITORY
REPOSITORYOCA/server-tools
GIT
GIThttps://github.com/OCA/server-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-tools/tree/14.0/base_multi_image
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYTools
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), LasLabs, Sodexis, Antiun Ingeniería, S.L.
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), LasLabs, Sodexis, Antiun Ingeniería, S.L.
COMMITTERS
COMMITTERSEnric Tobella, OCA Transbot, Weblate, OCA-git-bot, oca-ci, Hai Lang
WEBSITE
WEBSITEhttps://github.com/OCA/server-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:06
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
image_form_view Multi image form base_multi_image.image form New
image_kanban_view Product multi image kanban base_multi_image.image kanban New
image_tree_view Multi image tree base_multi_image.image tree New
Models touched (2)

New fields (17)
  • attachment_id Many2one → ir.attachment
    domain="[('index_content', '=', 'image')]" string='Attachment' args: 'ir.attachment'
  • comments Text
    translate=True args: 'Comments'
  • extension Char
    readonly=True args: 'File extension'
  • file_db_store Binary
    args: 'Image stored in database'
  • filename Char
  • image_main Image
    compute='_compute_image' args: 'Full-sized image'
  • image_medium Image
    help='Medium-sized image. It is automatically resized as a 128 x 128 px image, with aspect ratio preserved, only when the image exceeds one of those sizes. Use this field in form views or kanban views.' max_height=128 max_width=128 related='image_main' args: 'Medium-sized image'
  • image_small Image
    help='Small-sized image. It is automatically resized as a 64 x 64 px image, with aspect ratio preserved. Use this field anywhere a small image is required.' max_height=64 max_width=64 related='image_main' args: 'Small-sized image'
  • name Char
    translate=True args: 'Image title'
  • owner_id Integer
    required=True args: 'Owner'
  • owner_model Char
    required=True
  • owner_ref_id Reference
    compute='_compute_owner_ref_id' selection='_selection_owner_ref_id' store=True string='Referenced Owner'
  • path Char
    help='Image path' args: 'Image path'
  • sequence Integer
    default=10
  • show_technical Boolean
    compute='_compute_show_technical'
  • storage Selection
    default='filestore' required=True args: [('url', 'URL'), ('file', 'OS file'), ('db', 'Database'), ('filestore', 'Filestore')]
  • url Char
    args: 'Image remote URL'
Public methods (0)

No public methods.

New fields (4)
  • image_ids One2many → base_multi_image.image
    comodel_name='base_multi_image.image' copy=True domain=<expr> inverse_name='owner_id' string='Images'
  • image_main Binary
    compute='_compute_multi_image' inverse='_inverse_multi_image_main' store=False string='Main image'
  • image_main_medium Binary
    compute='_compute_multi_image' inverse='_inverse_multi_image_main_medium' store=False string='Medium image'
  • image_main_small Binary
    compute='_compute_multi_image' inverse='_inverse_multi_image_main_small' store=False string='Small image'
Public methods (1)
  • unlink(self)
    Mimic `ondelete="cascade"` for multi images. Will be skipped if ``env.context['bypass_image_removal']`` == True
REPOSITORY
REPOSITORYOCA/server-tools
GIT
GIThttps://github.com/OCA/server-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-tools/tree/12.0/base_multi_image
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYTools
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), LasLabs, Sodexis, Antiun Ingeniería, S.L.
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), LasLabs, Sodexis, Antiun Ingeniería, S.L.
COMMITTERS
COMMITTERSOCA Transbot, oca-travis, Weblate, OCA-git-bot, Tom Blauwendraat, Marc Poch, Vladislav Shepilov
WEBSITE
WEBSITEhttps://github.com/OCA/server-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:22
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
image_form_view Multi image form base_multi_image.image form New
image_kanban_view Product multi image kanban base_multi_image.image kanban New
image_tree_view Multi image tree base_multi_image.image tree New
Models touched (2)

New fields (17)
  • attachment_id Many2one → ir.attachment
    domain="[('index_content', '=', 'image')]" string='Attachment' args: 'ir.attachment'
  • comments Text
    translate=True args: 'Comments'
  • extension Char
    readonly=True args: 'File extension'
  • file_db_store Binary
    filters='*.png,*.jpg,*.gif' args: 'Image stored in database'
  • filename Char
  • image_main Binary
    compute='_get_image' args: 'Full-sized image'
  • image_medium Binary
    compute='_get_image_sizes' help='Medium-sized image. It is automatically resized as a 128 x 128 px image, with aspect ratio preserved, only when the image exceeds one of those sizes. Use this field in form views or kanban views.' args: 'Medium-sized image'
  • image_small Binary
    compute='_get_image_sizes' help='Small-sized image. It is automatically resized as a 64 x 64 px image, with aspect ratio preserved. Use this field anywhere a small image is required.' args: 'Small-sized image'
  • name Char
    translate=True args: 'Image title'
  • owner_id Integer
    ondelete='cascade' required=True args: 'Owner'
  • owner_model Char
    required=True
  • owner_ref_id Reference
    compute='_compute_owner_ref_id' selection='_selection_owner_ref_id' store=True string='Referenced Owner'
  • path Char
    help='Image path' args: 'Image path'
  • sequence Integer
    default=10
  • show_technical Boolean
    compute='_show_technical'
  • storage Selection
    required=True args: [('url', 'URL'), ('file', 'OS file'), ('db', 'Database'), ('filestore', 'Filestore')]
  • url Char
    args: 'Image remote URL'
Public methods (0)

No public methods.

New fields (4)
  • image_ids One2many → base_multi_image.image
    comodel_name='base_multi_image.image' copy=True domain=<expr> inverse_name='owner_id' string='Images'
  • image_main Binary
    compute='_get_multi_image' inverse='_set_multi_image_main' store=False string='Main image'
  • image_main_medium Binary
    compute='_get_multi_image' inverse='_set_multi_image_main_medium' store=False string='Medium image'
  • image_main_small Binary
    compute='_get_multi_image' inverse='_set_multi_image_main_small' store=False string='Small image'
Public methods (1)
  • unlink(self)
    @api.multi
    Mimic `ondelete="cascade"` for multi images. Will be skipped if ``env.context['bypass_image_removal']`` == True
REPOSITORY
REPOSITORYOCA/server-tools
GIT
GIThttps://github.com/OCA/server-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-tools/tree/10.0/base_multi_image
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYTools
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), LasLabs, Sodexis, Antiun Ingeniería, S.L.
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), LasLabs, Sodexis, Antiun Ingeniería, S.L.
COMMITTERS
COMMITTERSPedro M. Baeza, Stéphane Bidoul (ACSONE), OCA Transbot, Stefan Rijnhart (Opener), Dave Lasley, oca-travis, Weblate
WEBSITE
WEBSITEhttp://www.antiun.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:19:59
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
image_form_view Multi image form base_multi_image.image form New
image_kanban_view Product multi image kanban base_multi_image.image kanban New
image_tree_view Multi image tree base_multi_image.image tree New
Models touched (2)

New fields (17)
  • attachment_id Many2one → ir.attachment
    domain="[('index_content', '=', 'image')]" string='Attachment' args: 'ir.attachment'
  • comments Text
    translate=True args: 'Comments'
  • extension Char
    readonly=True args: 'File extension'
  • file_db_store Binary
    filters='*.png,*.jpg,*.gif' args: 'Image stored in database'
  • filename Char
  • image_main Binary
    compute='_get_image' args: 'Full-sized image'
  • image_medium Binary
    compute='_get_image_sizes' help='Medium-sized image. It is automatically resized as a 128 x 128 px image, with aspect ratio preserved, only when the image exceeds one of those sizes. Use this field in form views or kanban views.' args: 'Medium-sized image'
  • image_small Binary
    compute='_get_image_sizes' help='Small-sized image. It is automatically resized as a 64 x 64 px image, with aspect ratio preserved. Use this field anywhere a small image is required.' args: 'Small-sized image'
  • name Char
    translate=True args: 'Image title'
  • owner_id Integer
    ondelete='cascade' required=True args: 'Owner'
  • owner_model Char
    required=True
  • owner_ref_id Reference
    compute='_compute_owner_ref_id' selection='_selection_owner_ref_id' store=True string='Referenced Owner'
  • path Char
    help='Image path' args: 'Image path'
  • sequence Integer
    default=10
  • show_technical Boolean
    compute='_show_technical'
  • storage Selection
    required=True args: [('url', 'URL'), ('file', 'OS file'), ('db', 'Database'), ('filestore', 'Filestore')]
  • url Char
    args: 'Image remote URL'
Public methods (0)

No public methods.

New fields (4)
  • image_ids One2many → base_multi_image.image
    comodel_name='base_multi_image.image' copy=True domain=<expr> inverse_name='owner_id' string='Images'
  • image_main Binary
    compute='_get_multi_image' inverse='_set_multi_image_main' store=False string='Main image'
  • image_main_medium Binary
    compute='_get_multi_image' inverse='_set_multi_image_main_medium' store=False string='Medium image'
  • image_main_small Binary
    compute='_get_multi_image' inverse='_set_multi_image_main_small' store=False string='Small image'
Public methods (1)
  • unlink(self)
    @api.multi
    Mimic `ondelete="cascade"` for multi images. Will be skipped if ``env.context['bypass_image_removal']`` == True
REPOSITORY
REPOSITORYOCA/server-tools
GIT
GIThttps://github.com/OCA/server-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-tools/tree/9.0/base_multi_image
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYTools
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), LasLabs, Sodexis, Antiun Ingeniería, S.L.
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), LasLabs, Sodexis, Antiun Ingeniería, S.L.
COMMITTERS
COMMITTERSHolger Brunn, Pedro M. Baeza, GitHub, sebalix, Jairo Llopis, Stéphane Bidoul (ACSONE), OCA Transbot, Dave Lasley, oca-travis, Weblate, Atchuthan, Sodexis
WEBSITE
WEBSITEhttp://www.antiun.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:15:22
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
image_form_view Multi image form base_multi_image.image form New
image_kanban_view Product multi image kanban base_multi_image.image kanban New
image_tree_view Multi image tree base_multi_image.image tree New
Models touched (2)

New fields (17)
  • attachment_id Many2one → ir.attachment
    domain="[('index_content', '=', 'image')]" string='Attachment' args: 'ir.attachment'
  • comments Text
    translate=True args: 'Comments'
  • extension Char
    readonly=True args: 'File extension'
  • file_db_store Binary
    filters='*.png,*.jpg,*.gif' args: 'Image stored in database'
  • filename Char
  • image_main Binary
    compute='_get_image' args: 'Full-sized image'
  • image_medium Binary
    compute='_get_image_sizes' help='Medium-sized image. It is automatically resized as a 128 x 128 px image, with aspect ratio preserved, only when the image exceeds one of those sizes. Use this field in form views or kanban views.' args: 'Medium-sized image'
  • image_small Binary
    compute='_get_image_sizes' help='Small-sized image. It is automatically resized as a 64 x 64 px image, with aspect ratio preserved. Use this field anywhere a small image is required.' args: 'Small-sized image'
  • name Char
    translate=True args: 'Image title'
  • owner_id Integer
    ondelete='cascade' required=True args: 'Owner'
  • owner_model Char
    required=True
  • owner_ref_id Reference
    compute='_compute_owner_ref_id' selection='_selection_owner_ref_id' store=True string='Referenced Owner'
  • path Char
    help='Image path' args: 'Image path'
  • sequence Integer
    default=10
  • show_technical Boolean
    compute='_show_technical'
  • storage Selection
    required=True args: [('url', 'URL'), ('file', 'OS file'), ('db', 'Database'), ('filestore', 'Filestore')]
  • url Char
    args: 'Image remote URL'
Public methods (0)

No public methods.

New fields (4)
  • image_ids One2many → base_multi_image.image
    comodel_name='base_multi_image.image' copy=True domain=<expr> inverse_name='owner_id' string='Images'
  • image_main Binary
    compute='_get_multi_image' inverse='_set_multi_image_main' store=False string='Main image'
  • image_main_medium Binary
    compute='_get_multi_image' inverse='_set_multi_image_main_medium' store=False string='Medium image'
  • image_main_small Binary
    compute='_get_multi_image' inverse='_set_multi_image_main_small' store=False string='Small image'
Public methods (1)
  • unlink(self)
    @api.multi
    Mimic `ondelete="cascade"` for multi images. Will be skipped if ``env.context['bypass_image_removal']`` == True
REPOSITORY
REPOSITORYOCA/server-tools
GIT
GIThttps://github.com/OCA/server-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-tools/tree/8.0/base_multi_image
VERSION
VERSION 2.0.1
CATEGORY
CATEGORYTools
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Serv. Tecnol. Avanzados - Pedro M. Baeza, Antiun Ingeniería, S.L.
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Serv. Tecnol. Avanzados - Pedro M. Baeza, Antiun Ingeniería, S.L.
COMMITTERS
COMMITTERSHolger Brunn, Pedro M. Baeza, GitHub, Jairo Llopis, Denis Roussel, Stéphane Bidoul (ACSONE), OCA Transbot, Moises Lopez - https://www.vauxoo.com/, oca-travis, Weblate, OCA-git-bot
WEBSITE
WEBSITEhttp://www.antiun.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:25
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
image_form_view Multi image form base_multi_image.image form New
image_kanban_view Product multi image kanban base_multi_image.image kanban New
image_tree_view Multi image tree base_multi_image.image tree New
Models touched (2)

New fields (15)
  • comments Text
    translate=True args: 'Comments'
  • extension Char
    readonly=True args: 'File extension'
  • file_db_store Binary
    filters='*.png,*.jpg,*.gif' args: 'Image stored in database'
  • filename Char
  • image_main Binary
    compute='_get_image' args: 'Full-sized image'
  • image_medium Binary
    compute='_get_image_sizes' help='Medium-sized image. It is automatically resized as a 128 x 128 px image, with aspect ratio preserved, only when the image exceeds one of those sizes. Use this field in form views or kanban views.' args: 'Medium-sized image'
  • image_small Binary
    compute='_get_image_sizes' help='Small-sized image. It is automatically resized as a 64 x 64 px image, with aspect ratio preserved. Use this field anywhere a small image is required.' args: 'Small-sized image'
  • name Char
    translate=True args: 'Image title'
  • owner_id Integer
    required=True args: 'Owner'
  • owner_model Char
    required=True
  • path Char
    help='Image path' args: 'Image path'
  • sequence Integer
    default=10
  • show_technical Boolean
    compute='_show_technical'
  • storage Selection
    required=True args: [('url', 'URL'), ('file', 'OS file'), ('db', 'Database')]
  • url Char
    args: 'Image remote URL'
Public methods (0)

No public methods.

New fields (4)
  • image_ids One2many → base_multi_image.image
    comodel_name='base_multi_image.image' copy=True domain=<expr> inverse_name='owner_id' string='Images'
  • image_main Binary
    compute='_get_multi_image' inverse='_set_multi_image_main' store=False string='Main image'
  • image_main_medium Binary
    compute='_get_multi_image' inverse='_set_multi_image_main_medium' store=False string='Medium image'
  • image_main_small Binary
    compute='_get_multi_image' inverse='_set_multi_image_main_small' store=False string='Small image'
Public methods (1)
  • unlink(self)
    @api.multi
    Mimic `ondelete="cascade"` for multi images.
STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/server-tools
PULL REQUEST
PULL REQUEST[17.0][MIG] base_multi_image: Migration to 17.0 (#3063)
STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/server-tools
PULL REQUEST
PULL REQUEST[19.0][MIG] base_multi_image (#3633)