Publicidad

lunes, 22 de febrero de 2016

Insertar Registros por Query SQL y retornar el ID (Odoo y OpenERP)

Insertar Registro Directamente en Base de Datos y Retornar el ID




     En ocasiones es necesario optimizar un poco nuestro cĆ³digo en base a Querys directos a base de datos, muchas veces insertamos registros, pero es difĆ­cil conocer el id que acabamos de insertar, un error muy comĆŗn con la programaciĆ³n es consultar el ultimo ID de la tabla, esto puede darnos la soluciĆ³n cuando solo trabajamos nosotros en la Base de Datos, pero en un entorno real, con concurrencia a la base de datos, el ultimĆ³ ID seria muy variable, para esto podemos apoyarnos de PostgreSQL y el comando RETURNING, este comando nos retorna cualquier valor, en este caso la columna serial ID, la estructura es muy simple:


self.env.cr.execute(""" INSERT INTO res_partner (name,customer) VALUES ('PonceSoft', True) RETURNING id; """)

my_id=self.env.cr.fetchall()[0][0]

La variable my_id es el ID que acabamos de insertar en la Base de Datos.



0 comentarios:

Publicar un comentario