many2many_tags_skills
Skills rendered as tags that also carry whether the level is the default one. The extra data is injected rather than requested, so the view stays simple.
| Technical name | many2many_tags_skills |
|---|---|
| Field types | many2many |
| Views | form |
| Module | hr_skills, employee skills |
| Used in core | Skills fields in hr_skills |
| Versions | Odoo 20.0, Odoo 19.0, Odoo 18.0 |
| No-code setup | No. It is set in view XML and depends on module-specific data |
| Alternatives | many2many_tags, many2one_tags_skills, skills_one2many, boolean_toggle_load |
What the skills tags does
What this means for your team
Supported options in Odoo 19
| Option | Type | What it does |
|---|---|---|
default_level | injected related field | Appended by the descriptor to the fields loaded for each tag, and passed to the tag as a flag. The view does not have to declare it.(since Odoo 18.0) |
no_quick_create | boolean | Inherited from the tags widget. Removes creation from the typed text.(default: false) |
no_create | boolean | Inherited. Removes both creation paths from the dropdown.(default: false) |
color_field | field | Inherited from the tags widget. Names an integer field used to color the tags. |
The extra field is injected, not requested. The descriptor appends it to whatever the base widget already loads for each tag, so the view needs no extra declaration and cannot omit it by accident.
Working examples
Asking for the data it needs
Version compatibility
| Version | Status | Notes |
|---|---|---|
| Odoo 20.0 | Partial / changed | Not released. Reworked alongside the tag components; the concept is unchanged. |
| Odoo 19.0 | Verified | Verified against the shipped source. Identical to Odoo 18. |
| Odoo 18.0 | Verified | First version. |
| Odoo 17.0 | Not available | Widget does not exist. |
| Odoo 16.0 | Not available | Widget does not exist. |
Upgrade note. The widget arrived in Odoo 18 and the Odoo 18 and Odoo 19 files are identical, so views carry over. The development branch reworks the tag components underneath it, which matters to customizations of the tag rendering rather than to views.
What is changing in Odoo 20
Common problems and fixes
| Symptom | Cause and fix |
|---|---|
| Tags show no level context | The tag list component was overridden, or the injected field is not reaching the tag. Keep the widget's own components map when customizing. |
| The default level flag is always false | No level is marked as default on those skills. Set the default level on the skill type. |
| Skills can be created from the input | Creation is allowed by default on the tags widget. Pass no_quick_create or no_create in the options. |
| Tags have no color | No color field is configured. Set the color_field option to the integer field on the skill. |
| Options are ignored | The widget declares none of its own; the inherited tag options work normally. Use the tags widget's options as usual. |
| Missing widget error | The skills module is not installed in that database. Install it, or use the plain tags widget. |
Skills tags vs the alternatives
| Widget | Best for | Key difference |
|---|---|---|
many2many_tags_skills | Skills shown as tags that also convey their level context | Injects the default level field itself and renders it through a dedicated tag list |
| many2many_tags | Any relation shown as tags | Names only, with no injected context |
| many2one_tags_skills | Editable skill lines | A child list rendered as tags, with its own dialog |
| skills_one2many | Skills as a full list | A table rather than tags |
| boolean_toggle_load | Marking a level as the default | A toggle on the level rather than a display of it |
Frequently asked questions
Where does the level information come from?+
Why inject rather than ask the view to load it?+
Does it support the tags widget's options?+
What renders the flag?+
Which versions have it?+
Knowing who can actually do the work
Skills, levels and certifications only help resourcing if they are precise enough to search on. We set up Odoo HR skills and the planning that uses them, on versions 16 through 19.
Book a free consultation