many2one_tags_skills
A one-to-many rendered as clickable tags, with its own Select Skills dialog. Its registered name says many2one, its class says one2many, and the class is right.
| Technical name | many2one_tags_skills |
|---|---|
| Field types | one2many |
| Views | form |
| Module | hr_skills, employee skills |
| Used in core | Skills fields rendered as tags in hr_skills |
| Versions | Odoo 20.0, Odoo 19.0 |
| No-code setup | No. It is set in view XML and depends on module-specific data |
| Alternatives | many2many_tags_skills, one2many, skills_one2many, many2many_tags |
What the skills tag list does
What this means for your team
Supported options in Odoo 19
| Option | Type | What it does |
|---|---|---|
color | field on the child record | Read when building each tag's properties and used as the tag color index.(since Odoo 19.0) |
widget | string (attribute) | Compared against the many-to-many name to decide whether an opened record carries a reference back to its parent.(since Odoo 19.0) |
editable | string (list attribute) | Set on the embedded view. Governs whether the delete handler is attached to each tag. |
The tag properties are built from scratch. Rather than extending the base tag properties, the widget defines the identifier, text, color, edit flag and both handlers itself. That means anything the base tag would normally contribute is absent unless this widget adds it.
Working examples
A name that describes nothing it does
Version compatibility
| Version | Status | Notes |
|---|---|---|
| Odoo 20.0 | Partial / changed | Not released. Reworked alongside the tag components. |
| Odoo 19.0 | Verified | First version. Verified against the shipped source. |
| Odoo 18.0 | Not available | Widget does not exist. |
| Odoo 17.0 | Not available | Widget does not exist. |
| Odoo 16.0 | Not available | Widget does not exist. |
Upgrade note. The widget is new in Odoo 19, so there is nothing to migrate from earlier versions. Its template lives in another module's namespace, which is worth remembering if you install the skills modules selectively.
What is changing in Odoo 20
Common problems and fixes
| Symptom | Cause and fix |
|---|---|
| Tags cannot be deleted | The field is read-only, and the delete handler is only attached when it is editable. Expected. Make the field editable if removal is wanted. |
| The dialog title says Select Skills on another model | The title is a fixed string set by the widget. Copy the widget with your own title if reusing it. |
| Tags have no color | The child record has no color field, or it is unset. Add and populate that field on the child model. |
| The widget name looks wrong | The registration says many2one while the behavior is one-to-many. Use the registered name as written; it is the only name that resolves. |
| A template error appears | The template belongs to the recruitment skills module's namespace. Make sure the module providing that template is installed. |
| Options are ignored | The widget declares none and forwards the dictionary to the embedded view. Use the view's own attributes instead. |
Skills tag list vs the alternatives
| Widget | Best for | Key difference |
|---|---|---|
many2one_tags_skills | Owned child records shown compactly and edited in a dialog | Builds its tag properties itself and fixes the dialog title, despite a name that says many2one |
many2many_tags_skills | Skills as a many-to-many of tags | A relation of simple records, with an injected level flag |
| one2many | Child records edited in place | A table rather than tags |
| skills_one2many | Skills as a full list | The tabular presentation of the same data |
| many2many_tags | Any relation as tags | Standard tag properties, no dialog title of its own |
Frequently asked questions
Why does the name say many2one?+
Where do the tag properties come from?+
Why does the dialog say Select Skills?+
Can I delete a tag?+
Which versions have it?+
Employee profiles that stay readable as they fill up
Skills, certifications and history all compete for the same form, and the layout decides whether any of it is maintained. We design Odoo HR screens around what your team actually updates, on versions 16 through 19.
Book a free consultation