many2many_tags_color_dot
New in Odoo 20. It renders tags as a colored dot next to a plain label rather than a filled pill, and it overrides the parent widget's click behavior through an option nobody declares.
September 18, 2026Updated September 24, 20264 min read
| Technical name | many2many_tags_color_dot |
|---|---|
| Field types | many2many |
| Views | form, list |
| Module | web, present in every Odoo 20 database |
| Used in core | 11 uses across Odoo 20 Community and Enterprise views, excluding tests. Does not exist in Odoo 19. |
| Versions | Odoo 20.0 |
| No-code setup | No Studio entry of its own. It inherits the Tags widget's options, which Studio does expose. |
| Alternatives | many2many_tags, many2many_tags_avatar, many2many_checkboxes |
What the many2many_tags_color_dot widget does
What this means for your team
Supported options in Odoo 20
| Option | Type | What it does |
|---|---|---|
can_open | boolean | <strong>Undocumented: declared nowhere.</strong> When truthy, clicking a tag opens its record. The widget deletes the inherited onTagClick and sets it to open_form only when this is set, so without it a tag click does nothing.(default: false)(since Odoo 20.0) |
color_field | field name | Inherited from many2many_tags. Names an integer field on the tag model holding the color index, which is what gives each dot its color. Without it every dot renders the same. |
tag_limit | number | Inherited from many2many_tags and new in Odoo 20. Shows a counter once the tag count passes this value. Pairs well with dots on a crowded record.(default: 0, meaning show all)(since Odoo 20.0) |
Note the interaction with the parent's own click option. In Odoo 20, many2many_tags gained on_tag_click, replacing the Odoo 19 pair of edit_tags and no_edit_color. This widget deletes whatever that produced before applying its own, so setting on_tag_click here has no effect. Use can_open instead.
Working examples
An option that overrides its own parent
Version compatibility
| Version | Status | Notes |
|---|---|---|
| Odoo 19.0 | Not available | Does not exist. The nearest equivalent is many2many_tags with colors, which renders filled pills. |
| Odoo 20.0 | Verified | Introduced in Odoo 20. Verified against the shipped 20.0 source. |
This widget does not exist before Odoo 20.
What is changing in Odoo 20
Common problems and fixes
| Symptom | Cause and fix |
|---|---|
| Every dot is the same color | No color_field is set, or the named field is not an integer on the tag model. Add options="{'color_field': 'color'}" and confirm the field exists on the related model. |
| Clicking a tag does nothing | Default behavior. The widget deletes the inherited click handler and only restores it when can_open is set. Add options="{'can_open': True}". |
| on_tag_click has no effect | This widget deletes the prop the parent's option produces before setting its own. Use can_open instead. The parent's click modes are not reachable here. |
| can_open does not appear in Studio | It is declared nowhere; the widget inherits the parent's option list, which does not mention it. Set it in the view XML. It works despite being undocumented. |
Many2many_tags_color_dot widget vs the alternatives
| Widget | Best for | Key difference |
|---|---|---|
many2many_tags_color_dot | Tags that are context rather than the point of the screen | Colored dot plus plain label, with an undocumented can_open that overrides the parent |
| many2many_tags | Tags as primary information | Filled pills, and its on_tag_click option actually works |
| many2many_tags_avatar | Tags that represent people | Shows avatars rather than dots |
| many2many_checkboxes | A short fixed set shown in full | Every option visible, no colors |
Frequently asked questions
How do I make a tag clickable with many2many_tags_color_dot?+
Why does on_tag_click not work on this widget?+
Where do the dot colors come from?+
Does this widget exist in Odoo 19?+
Forms that look like a paint chart?
Tag colors stop being informative the moment everything has one. We rework crowded Odoo forms so color carries meaning again, using what Odoo 20 added rather than piling on custom CSS.
Book a free consultation