Skip to content

Instantly share code, notes, and snippets.

@vijoin
Last active January 27, 2016 23:28
Show Gist options
  • Save vijoin/ac2ed16f1654f2881764 to your computer and use it in GitHub Desktop.
Save vijoin/ac2ed16f1654f2881764 to your computer and use it in GitHub Desktop.
Aprovechar el nuevo método constructor @api.onchange

#@api.onchange

En esta oportunidad vamos a utilizar los campos de Estado, Municipio y Parroquia del módulo l10n_ve_dpt

Cuando se modifique el Estado, se deberán limpiar los campos Municipio y Parroquia. Para esto utilizaremos el método decorador @api.onchange, el cual recibe el nombre de un campo del cual estará esperando cualquier cambio, y al recibir dicho cambio ejecutará los métodos dentro de él.

Ej:

    @api.onchange('estado_id')
    def _on_change_estado(self):
       self.municipio_id = ''
       self.parroquia_id = ''

    @api.onchange('municipio_id')
    def _on_change_municipio(self):
        self.dom_parroquia_id = ''

En este ejemplo, tanto estado, como municipio son campos Many2one, que al ser modificados, limpian los campos allí definidos. Es importante notar que, a diferencia de la versión 6.1, ya no se necesita asignar el atributo on_change en la vista XML.

Por convención, el método se debe llamar con la cadena _on_change_ seguido del campo que activará el método.

Para ver código que funciona ingrese Aquí

Para conocer más sobre los métodos constructores en la nueva api, revisar la documentación oficial odoo

###Referencias:

  1. https://github.com/vijoin/l10n_ve_dpt
  2. https://github.com/vijoin/SistemadeRegistrodeActivistas/
  3. https://www.odoo.com/documentation/8.0/reference/orm.html#module-openerp.api
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment