many2many_tags_placeholder_list_view
The tags widget with one thing changed: a template that shows a placeholder when the cell is empty, so a list column does not go blank.
| Technical name | many2many_tags_placeholder_list_view |
|---|---|
| Field types | many2many |
| Views | list |
| Module | point_of_sale, the Point of Sale app |
| Used in core | Tag columns in Point of Sale backend lists |
| 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, many2many_tags_avatar, many2many |
What the placeholder tags does
What this means for your team
Supported options in Odoo 19
| Option | Type | What it does |
|---|---|---|
color_field | field | Inherited from the tags widget and unaffected by the template substitution. |
no_create | boolean | Inherited. Removes both creation paths from the dropdown.(default: false) |
no_quick_create | boolean | Inherited. Removes creation from the typed text while keeping the popup form path.(default: false) |
edit_tags | boolean | Inherited. Makes clicking a tag open its record.(default: false) |
Nothing is lost. Because the descriptor is spread without replacing the extractor, every option the tags widget accepts continues to work, which is not true of several other widgets that substitute a template and rewrite the extractor at the same time.
Working examples
How far a template substitution goes
Version compatibility
| Version | Status | Notes |
|---|---|---|
| Odoo 20.0 | In development | Not released. Byte-identical to Odoo 19 on the development branch. |
| 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. On earlier versions the same columns used the plain tags widget, so an upgrade adds the placeholder with the standard views and nothing needs migrating.
What is changing in Odoo 20
Common problems and fixes
| Symptom | Cause and fix |
|---|---|
| No placeholder appears | The cell is not empty, or the template was overridden. Check for a customization replacing the template. |
| The cell looks unlike other tag columns | The standard tags styling class was removed. Keep the additional class the descriptor adds. |
| An inherited option stopped working | It should not; the descriptor is spread and the extractor untouched. Check the option spelling against the tags widget. |
| Missing widget error | The Point of Sale module is not installed in that database. Install it, or use the plain tags widget. |
| The placeholder text is wrong for my case | It lives in the template rather than in an option. Copy the widget with your own template. |
| It renders oddly on a form | The template is written for a list cell. Use the plain tags widget on forms. |
Placeholder tags vs the alternatives
| Widget | Best for | Key difference |
|---|---|---|
many2many_tags_placeholder_list_view | Tag columns in a list that should not go blank when empty | A replaced template only, so every inherited option keeps working |
| many2many_tags | Tags anywhere else | An empty cell shows nothing |
| many2many_tags_avatar | Tags representing people | Avatars rather than a placeholder |
| many2many | A relation shown as a table | Columns rather than tags |
Frequently asked questions
What does this widget change?+
Do the tags widget's options still work?+
Where does the placeholder text come from?+
Can I use it on a form?+
Which versions have it?+
Empty states that do not look like bugs
Blank cells, missing placeholders and unexplained gaps are the small things that make users distrust a system. We review and fix those details across Odoo screens, on versions 16 through 19.
Book a free consultation