Product Attribute Model Link
Create attribute values from another Odoo application ("a model").
This module allows to link product attributes to models and populate attribute values from the model records and vice versa. If a model is linked to an attribute :
- creating a record in the model will create a new corresponding attribute value,
- deleting a record in the model will archive or delete the corresponding attribute value depending of it's used or not,
- updating a record in the model will update the attribute value name,
- if the model is deleted (the app is uninstalled), all the linked attribute values remain in place.
auto_awesome What this module does
AI-generated from the code · Odoo 16.0Link a product attribute to any Odoo model so its records become attribute values automatically. Creating, renaming or deleting records in that model keeps the attribute values in sync.
This module lets you connect a product attribute to records of another Odoo model, so those records are used as the attribute's values.
On the product attribute form you set a Linked model, a Linked field (the field whose value becomes the attribute value name), an optional Domain to limit which records are used, and options such as adding new values to all existing products, creating records in the linked model from new attribute values, updating the linked record when an attribute value is renamed, and deleting the linked record when the attribute value is deleted.
Once linked, the module automatically keeps both sides in sync: - Creating a record in the linked model creates a matching attribute value. - Renaming the linked field updates the attribute value name. - Deleting a record archives the attribute value if it is used on products, otherwise deletes it.
A button on the attribute form opens a wizard to add an attribute value from an existing linked record, and each value row has a pencil button to change its linked record. The module touches product.attribute, product.attribute.value and adds the linked.record.wizard.
Depends on
Models and fields (3)
- product.attribute · extends an existing modeldomain (Domain (optional)), res_model_name (Model), linked_field_id, linked_model_id, apply_to_products_on_create, create_from_attribute_values, modify_from_attribute_values, delete_when_attribute_value_is_deleted
- linked.record.wizard · new modellinked_record_ref (Linked Record)
- product.attribute.value · extends an existing modellinked_record_ref (Linked record)
Text generated by AI (DeepSeek) from reading the Odoo 16.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 1 confirmed, 8 with no information of 9 versions.
Sources · Odoo 16.0
Confirmed on 2026-11-03 in branch 16.0 of OCA/product-attribute.
terminal Installation and usage
OCA documentation · Odoo 16.0Configuration
Source · Odoo 16.0Go to the "Inventory/Configuration/Products/Attributes" menu and select an existing or create a new attribute.
Following configuration fields are available:
- Linked Model. Model which records will be used for the attribute values. Cannot be a transient model. Warning: changing or removing existing value will not affect existing attribute values!
- Linked Field. Field of the selected model that will be used for the attribute value names. Can be any field except for related or computed non-stored ones. Digital field values will be converted to Char automatically. Warning: changing or removing existing value will not affect existing attribute values!
- Domain (optional). If configured only records matching the domain will be used for attribute value creation. Warning: updating domain will not affect existing attribute values!
- Add to Products on Create. If enabled when a new attribute value is created it will be automatically added to all existing products that use this attribute. Attention! You must completely understand possible consequences and use this option with care!
- Create from Attribute Values. If enabled when a new attribute value is added to the attribute a new record will be created in the linked model. Attention! The only value passed explicitly on creation will be the linked field containing the new attribute value name. You must ensure that this would be enough for new record creation. Otherwise an exception will be raised. If a digital field is used a conversion attempt will be done. If conversion fails an exception might be raised.
- Modify from Attribute Values. If enabled when an attribute value is renamed linked field value in the linked model will be updated accordingly. If a digital field is used a conversion attempt will be done. If conversion fails an exception might be raised. This option is available only if "Create from Attribute Values" option is enabled.
- Delete when Attribute Value is Deleted. When enabled if an attribute value is deleted linked record will be deleted too. Use with extreme care! This option is available only if "Create from Attribute Values" option is enabled.
Creating, modifying or deleting related records from attributes requires corresponding access rights to linked model. Otherwise access error will occur.
There is no "Attribute/Model" restriction so you can link several attributes to the same model. You can use same records and fields or apply custom domains to fine tune such mappings.
When adding a model mapping to an attribute with existing values you can map those manually in the attribute value list.
Usage
Source · Odoo 16.0Create, modify or delete a record in a model that is linked to an attribute(s). Linked attribute values will be added, modified, deleted or archived accordingly.
Create, modify or delete an attribute value. Linked model records will be modified accordingly in case such options are enabled for the attribute.
No verified information in OCA: Installation.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.