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