| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Lines of code | 160 |
| Technical Name |
widget_multi_selection |
| License | LGPL-3 |
Multi Selection Widget
Pick several values in one field — like Selection, but multi-value.
This module adds a brand new MultiSelection field and a
multi_selection widget. It works exactly like
the standard Selection field, but lets users tick
multiple options at once — all stored in a single
varchar column, with no extra relational table.
Key Features
- Select many values from a predefined list.
- Clean checkbox rendering, native Odoo look & feel.
- Stored in one column — no extra Many2many table.
- Declared like a Selection: list, method name, or callable.
- Respects readonly and saves values in declaration order.
- Lightweight, depends only on
web.
Python
from odoo import fields, models
class Partner(models.Model):
_inherit = "res.partner"
interests = fields.MultiSelection(
selection=[
("sport", "Sport"),
("music", "Music"),
("travel", "Travel"),
],
string="Interests",
)
View (XML)
<field name="interests" widget="multi_selection"/>
How it works
Selected keys are saved as a comma-separated string (e.g.
"sport, music"). The widget reads the available options sent to
the web client and renders one checkbox per option. On change, it rewrites the
value keeping the original declaration order.
More from us — 3D Face Attendance
Secure, spoof-proof attendance with AI face recognition & active liveness.
Most face-attendance apps use plain 2D recognition — and can be fooled by a photo or a phone screen. Our flagship module goes 3D with real liveness detection, so only a real, present person can clock in. It plugs straight into Odoo HR Attendance.
- Active liveness — random head-turn sequence defeats photo & screen spoofing.
- Anti-spoofing — cannot be bypassed by a printed photo or a monitor.
- Server-side enforcement — time-limited tokens block API workarounds.
- Self-service enrollment — only employees enroll their own face.
- GPS constraints — optional distance check from the company location.
Tested on Odoo 18.0
Built and maintained by Dasshu — dasshu.vn · congnghe@dasshu.vn
Please log in to comment on this module