| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/product-attribute |
| GIT | |
| GIT | https://github.com/OCA/product-attribute.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/product-attribute/tree/18.0/product_ingredient |
| VERSION | |
| VERSION | 1.0.1 |
| CATEGORY | |
| CATEGORY | Technical Settings |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA) |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA) |
| COMMITTERS | |
| COMMITTERS | sergio-teruel, Weblate, OCA-git-bot, David Bañón |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/product-attribute |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:30:13 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - product - base - base_setup - web - bus - web_tour - html_editor - uom - stock - barcodes_gs1_nomenclature - barcodes - digest - portal - web_editor - http_routing - auth_signup - resource |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
openupgradelib |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | This module allows to set ingredients information for a given product. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
product_attribute_value_form_view |
product.attribute.value.form | product.attribute.value | form | New |
product_ingredient_form_view |
product.ingredient.form.view | product.ingredient | form | New |
product_normal_form_view |
product.product | page | Inherits product.product_normal_form_view | |
product_template_only_form_view |
product.template | page | Inherits product.product_template_only_form_view | |
view_production_lot_form |
stock.lot | xpath | Inherits stock.view_production_lot_form |
No new fields.
Public methods (1)get_allergen_id(self)
No new fields.
Public methods (1)default_get(self, fields_list)
allergen_id
Many2one → product.attribute.value
comodel_name='product.attribute.value'
context={'set_allergen_attribute': True, 'show_attribute': False}
domain=<expr>
is_allergen
Boolean
name
Char
translate=True
scientific_name
Char
No public methods.
allergen_id
Many2one
related='ingredient_id.allergen_id'
ingredient_id
Many2one → product.ingredient
comodel_name='product.ingredient'
is_allergen
Boolean
related='ingredient_id.is_allergen'
percentage
Float
digits='Product Unit of Measure'
product_id
Many2one → product.product
comodel_name='product.product'
scientific_name
Char
related='ingredient_id.scientific_name'
sequence
Integer
No public methods.
allergen_ids
Many2many → product.attribute.value
comodel_name='product.attribute.value'
compute='_compute_allergen_id'
string='Allergens'
ingredient_additional_info
Text
translate=True
ingredient_allergen_trace_ids
Many2many → product.attribute.value
comodel_name='product.attribute.value'
context={'set_allergen_attribute': True, 'show_attribute': False}
domain=<expr>
string='Allergen traces'
ingredient_ids
One2many → product.ingredient.value
comodel_name='product.ingredient.value'
inverse_name='product_id'
string='Ingredients'
No public methods.
allergen_ids
Many2many
related='product_variant_ids.allergen_ids'
ingredient_additional_info
Text
readonly=False
related='product_variant_ids.ingredient_additional_info'
ingredient_allergen_trace_ids
Many2many
readonly=False
related='product_variant_ids.ingredient_allergen_trace_ids'
ingredient_ids
One2many
readonly=False
related='product_variant_ids.ingredient_ids'
No public methods.
ingredient_additional_info
Text
compute='_compute_ingredient_values'
readonly=False
store=True
translate=True
ingredient_allergen_trace_ids
Many2many → product.attribute.value
comodel_name='product.attribute.value'
compute='_compute_ingredient_values'
context={'set_allergen_attribute': True, 'show_attribute': False}
domain=<expr>
readonly=False
store=True
ingredient_ids
One2many → stock.lot.ingredient.value
comodel_name='stock.lot.ingredient.value'
compute='_compute_ingredient_values'
inverse_name='lot_id'
readonly=False
store=True
No public methods.
allergen_id
Many2one
related='ingredient_id.allergen_id'
ingredient_id
Many2one → product.ingredient
comodel_name='product.ingredient'
is_allergen
Boolean
related='ingredient_id.is_allergen'
lot_id
Many2one → stock.lot
comodel_name='stock.lot'
percentage
Float
digits='Product Unit of Measure'
scientific_name
Char
related='ingredient_id.scientific_name'
sequence
Integer
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/product-attribute |
| GIT | |
| GIT | https://github.com/OCA/product-attribute.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/product-attribute/tree/15.0/product_ingredient |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Technical Settings |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA) |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA) |
| COMMITTERS | |
| COMMITTERS | Carlos Dauden, Weblate, OCA-git-bot, oca-ci |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/product-attribute |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:46:35 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - product - base - base_setup - web - bus - web_tour - uom - stock - barcodes - digest - portal - web_editor - http_routing - auth_signup - resource |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
openupgradelib |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
product_attribute_value_form_view |
product.attribute.value.form | product.attribute.value | form | New |
product_ingredient_form_view |
product.ingredient.form.view | product.ingredient | form | New |
product_normal_form_view |
product.product | page | Inherits product.product_normal_form_view | |
product_template_only_form_view |
product.template | page | Inherits product.product_template_only_form_view | |
view_production_lot_form |
stock.production.lot | xpath | Inherits stock.view_production_lot_form |
No new fields.
Public methods (1)get_allergen_id(self)
No new fields.
Public methods (1)default_get(self, fields_list)
allergen_id
Many2one → product.attribute.value
comodel_name='product.attribute.value'
context={'set_allergen_attribute': True, 'show_attribute': False}
domain=<expr>
is_allergen
Boolean
name
Char
translate=True
scientific_name
Char
No public methods.
allergen_id
Many2one
related='ingredient_id.allergen_id'
ingredient_id
Many2one → product.ingredient
comodel_name='product.ingredient'
is_allergen
Boolean
related='ingredient_id.is_allergen'
percentage
Float
digits='Product Unit of Measure'
product_id
Many2one → product.product
comodel_name='product.product'
scientific_name
Char
related='ingredient_id.scientific_name'
sequence
Integer
No public methods.
allergen_id
Many2many → product.attribute.value
comodel_name='product.attribute.value'
compute='_compute_allergen_id'
ingredient_additional_info
Text
translate=True
ingredient_allergen_trace_ids
Many2many → product.attribute.value
comodel_name='product.attribute.value'
context={'set_allergen_attribute': True, 'show_attribute': False}
domain=<expr>
string='Allergen traces'
ingredient_ids
One2many → product.ingredient.value
comodel_name='product.ingredient.value'
inverse_name='product_id'
No public methods.
allergen_id
Many2many
related='product_variant_ids.allergen_id'
ingredient_additional_info
Text
readonly=False
related='product_variant_ids.ingredient_additional_info'
ingredient_allergen_trace_ids
Many2many
readonly=False
related='product_variant_ids.ingredient_allergen_trace_ids'
ingredient_ids
One2many
readonly=False
related='product_variant_ids.ingredient_ids'
No public methods.
allergen_id
Many2one
related='ingredient_id.allergen_id'
ingredient_id
Many2one → product.ingredient
comodel_name='product.ingredient'
is_allergen
Boolean
related='ingredient_id.is_allergen'
lot_id
Many2one → stock.production.lot
comodel_name='stock.production.lot'
percentage
Float
digits='Product Unit of Measure'
scientific_name
Char
related='ingredient_id.scientific_name'
sequence
Integer
No public methods.
ingredient_additional_info
Text
compute='_compute_ingredient_values'
readonly=False
store=True
translate=True
ingredient_allergen_trace_ids
Many2many → product.attribute.value
comodel_name='product.attribute.value'
compute='_compute_ingredient_values'
context={'set_allergen_attribute': True, 'show_attribute': False}
domain=<expr>
readonly=False
store=True
ingredient_ids
One2many → production.lot.ingredient.value
comodel_name='production.lot.ingredient.value'
compute='_compute_ingredient_values'
inverse_name='lot_id'
readonly=False
store=True
No public methods.
| STATUS | |
|---|---|
| STATUS | Open migration PR - not merged yet for this version |
| REPOSITORY | |
| REPOSITORY | OCA/product-attribute |
| PULL REQUEST | |
| PULL REQUEST | [16.0][MIG] product_ingredient: Migration to 16.0 (#2277) |