OdooWiki OCA HUB

Dynamic Dropdown Widget

web_widget_dropdown_dynamic folder_open OCA/web open_in_new
Web Licencia: LGPL-3

Widget de menú desplegable dinámico que permite resolver opciones desde el backend de:

> - fields.Char > - fields.Integer > - fields.Selection

NOTA: Este widget no está pensado para extender fields.Selection, sino para filtrar los valores de selección. Para un conjunto de opciones totalmente dinámico, utilice fields.Char en su lugar.

Traducción automática al español (DeepSeek) de la descripción original de OCA, que está en inglés.

auto_awesome Qué hace este módulo

Generado por IA a partir del código · Odoo 19.0

Añade un nuevo widget de campo "Dynamic Dropdown" para formularios de Odoo. Permite a los desarrolladores mostrar un desplegable cuyas opciones se obtienen del servidor, opcionalmente en función de otro campo del mismo formulario.

Este módulo es un bloque de construcción técnico para desarrolladores de Odoo más que una funcionalidad de negocio lista para usar. Registra un nuevo widget de campo llamado "Dynamic Dropdown" que se puede usar en campos char, integer y selection.

Cuando se abre un formulario, el widget llama a un método del modelo del registro para obtener la lista de opciones disponibles y las muestra en un desplegable. El nombre del método se configura en las opciones del campo, y se puede pasar contexto adicional, por ejemplo el valor de otro campo del formulario. Si ese otro campo cambia, las opciones se vuelven a obtener.

Reglas de negocio añadidas por el widget: - Si el valor actual ya no está entre las opciones devueltas por el servidor, el campo se vacía automáticamente. - Para campos integer, una selección no numérica o cero se rechaza como no válida. - Las selecciones vacías se almacenan como sin valor.

Para demostrar cómo funciona, el módulo incluye una configuración de demostración en el modelo ir.filters: se añade un campo integer manual llamado "Dropdown Integer" al formulario de filtro, y un método de demostración devuelve una pequeña lista de opciones, añadiendo una opción extra cuando el administrador está entre los usuarios seleccionados. Esta demostración solo se instala con datos de demostración y está pensada como ejemplo, no como una funcionalidad de negocio.

Texto generado por IA (DeepSeek) al leer el código de la versión 19.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. Ver el código en GitHub

Disponibilidad por versión

Revisado: 2026-11-03
Confirmado (verificado en repositorio y rama) Estimado (sin verificar) Sin información

Estado de confirmación: 8 confirmadas, 1 sin información de 9 versiones.

terminal Instalación y uso

Documentación de OCA · Odoo 19.0
@api.model
def method_name(self):
    values = [
        ('value_a', 'Title A'),
    ]
    if self.env.context.get('depending_on') == True:
        values += [
            ('value_b', 'Title B'),
        ]
    return values
<field
    name="other_field"
/>
<field
    name="char_field"
    widget="dynamic_dropdown"
    options="{'values':'method_name'}"
    context="{'depending_on': other_field}"
/>

DEMO

En los filtros definidos por el usuario se ha añadido un nuevo campo para mostrar la funcionalidad, se llama Dropdown Integer. Si cualquier usuario selecciona solo la opción One debería aparecer, pero si es Mitchell Admin debería ser posible seleccionar la opción One y Two.

Traducción automática al español (DeepSeek) de la documentación original de OCA; los comandos y el código no se traducen. Sin información verificada en OCA: Instalación, Configuración.

info

Datos importados de GitHub: esta ficha refleja la última revisión del catálogo, no una consulta en directo. Verifica siempre en la documentación del módulo y en staging antes de instalar en producción.