Publicidad

miércoles, 25 de enero de 2017

Obtener ID de registro desde datos XML Odoo

Método para obtener el ID de la tabla desde el ID de una Vista de un modulo Odoo



Se que el titulo sonada un poco extraño, pero la idea es muy sencilla, existe un metodo de Odoo que te permite obtener el ID de un registro ya creado en la base de datos, enviandole el ID con el cual lo creamos desde un XML, para que sea un poco mas claro vamos a analizarlo.

  • Normalmente creamos un registro desde un XML de la siguiente manera:
<record id="product_uom_categ_kgm" model="product.uom.categ">
            <field name="name">Weight</field>
</record>
     


El ejemplo anterior es una categoría creada desde el modulo product.

  • Si necesitáramos saber el ID que tiene esa categoría en la base de datos:

          La manera natural o normal que yo realizaría es:
          categ_id = self.env['product.category'].search([('name','=','Weight'])
         Utilizando el método de odoo seria de la siguiente manera:
          uom_categ_id = self.env['ir.model.data'].xmlid_to_res_id( 'product.product_uom_categ_kgm')

Los parámetros que recibe son:

  • Nombre del Modulo.
  • ID del registro en el XML.


En resumen el metodo xml_to_res_id, te permite conocer el ID de cualquier registro en cualquier tabla siempre y cuando se haya creado desde un XML en un modulo de Odoo.


0 comentarios:

Publicar un comentario