Repository
OCA/product-attribute · module folder · Try on Runboat
Module version
1.0.0
Category
Sale
Folder size
0.61 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/product-attribute
Last tracking update
2026-08-07 09:06:25
Authors
Odoo Community Association (OCA), Anybox
Maintainers
Odoo Community Association (OCA), Anybox
Committers
GitHub, Christopher Rogos, Weblate, OCA-git-bot, oca-ci
Odoo dependencies
odoo/odoo:
- web
- bus
- uom
Python dependencies
None
System dependencies
None
Required by
sale_product_set
Description
A **product set** is a list of products which are usually used together.

This module aims to help defining several products under a name, for
later being added in a quick way into other document.

After a *product set* is added, each line can be updated or removed as
any other lines.

This differs from packing products as *product sets* are not linked to
sale orders or other projects once they are added.

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
view_product_set_form product.set.form product.set form New
view_product_set_line_search product.set.line.search product.set.line search New
view_product_set_line_tree product.set.line.list product.set.line list New
view_product_set_search product.set.search product.set search New
view_product_set_tree product.set.list product.set list New
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (3)

New fields (7)
  • active Boolean
    default=True inverse='_inverse_active'
  • company_id Many2one → res.company
    default=<expr> ondelete='cascade' args: 'res.company', 'Company'
  • display_name Char
    compute='_compute_display_name' search='_search_display_name'
  • name Char
    help='Product set name' required=True translate=True
  • partner_id Many2one → res.partner
    comodel_name='res.partner' help="You can attache the set to a specific partner or no one. If you don't specify one, it's going to be available for all of them." index=True ondelete='cascade' required=False
  • ref Char
    copy=False help='Product set internal reference' string='Internal Reference'
  • set_line_ids One2many → product.set.line
    copy=True string='Products' args: 'product.set.line', 'product_set_id'
Public methods (0)

No public methods.

New fields (9)
  • active Boolean
    compute='_compute_active' default=True readonly=False store=True
  • company_id Many2one → res.company
    readonly=True related='product_set_id.company_id' store=True args: 'res.company'
  • display_type Selection
    args: [('line_section', 'Section'), ('line_note', 'Note')]
  • name Char
  • product_id Many2one → product.product
    comodel_name='product.product' domain=[('sale_ok', '=', True)] required=False string='Product'
  • product_set_id Many2one → product.set
    ondelete='cascade' string='Set' args: 'product.set'
  • product_uom_id Many2one → product.uom
    domain="[('product_id', '=', product_id)]" args: 'product.uom'
  • quantity Float
    default=1.0 digits='Product Unit of Measure' required=True
  • sequence Integer
    default=0 required=True
Public methods (0)

No public methods.

New fields (4)
  • partner_id Many2one → res.partner
    args: 'res.partner'
  • product_set_id Many2one → product.set
    ondelete='cascade' required=True args: 'product.set', 'Product set'
  • product_set_line_ids Many2many → product.set.line
    compute='_compute_product_set_line_ids' ondelete='cascade' readonly=False required=True store=True string='Product set lines' args: 'product.set.line'
  • quantity Float
    default=1.0 digits='Product Unit of Measure' required=True
Public methods (1)
  • add_set(self)
    This method may be extended in other modules that use product_set as a base.

Loading…

Loading…

Loading…