Odoo Help


How to get the last record id from existing table

on 12/31/13, 3:57 PM 10,259 views

I am trying to get the last record id with out using the create() from the ORM. Does anyone know how to get a last record id from a table? thank you

Maybe with SELECT max(id) FROM table

GH Mediacloud, Grover Menacho
on 12/31/13, 4:13 PM
On 12/31/13, 4:21 PM

Well I finally got something working. This is what I did, I used the database cursor and wrote an sql select statement like this:

cr.execute('select "id" from "table_name" order by "id" desc limit 1')

id_returned = cr.fetchone()

the fetchone() method returns a tuple of one value which is assigned to the id_returned variable. I can then get the id from the tuple by referencing the first index like this: id_returned[0]

Atul Arvind
On 1/1/14, 1:43 AM

If you don't want to execute PSQL query then you can search the record and get the max number, eg.

search_ids = self.pool.get("res.partner").search(cr, uid, [])
last_id = search_ids and max(search_ids)
Rich Granata
On 1/2/14, 2:30 PM

The sequencing is also stored in the database and can be retrieved with a statement like:

select * from res_partner_id_seq

On 3/19/17, 4:33 AM

Not quite sure about the older versions but you can do it like this in the newer ones:

last_id = self.env['table.name'].search([])[-1].id

About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.


Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

1 follower(s)


Asked: 12/31/13, 3:57 PM
Seen: 10259 times
Last updated: 3/19/17, 4:33 AM