sqlform insert row id

45 views
Skip to first unread message

Dave S

unread,
Jun 30, 2021, 5:51:08 PM6/30/21
to web2py-users
If SQLFORM.process() accepts the form and does an insert, is there a variable the controller or view can use to get the id of the row inserted?

I'm not spotting it in Chapter 7 nor in sqlhtml.py.

/dps

Clemens

unread,
Jul 1, 2021, 2:35:29 AM7/1/21
to web2py-users
the insert returns the id of the new record.

new_id = db.table.insert(...)

Have a try!

Dave S

unread,
Jul 1, 2021, 2:47:34 PM7/1/21
to web2py-users
On Wednesday, June 30, 2021 at 11:35:29 PM UTC-7 Clemens wrote:
the insert returns the id of the new record.

new_id = db.table.insert(...)

Have a try!

Well, yes, if you do the insert yourself, but when you're doing SQLFORM, it will do the insert.  So you need it to return the new record idea.  Does it, and if it does how can I access it?

/dps

Javier Pepe

unread,
Jul 1, 2021, 7:14:18 PM7/1/21
to web...@googlegroups.com

--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups "web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to web2py+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/web2py/182ad87d-380c-4e9e-888f-690ca22ade8dn%40googlegroups.com.

Clemens

unread,
Jul 2, 2021, 3:50:02 AM7/2/21
to web2py-users
You can use validate() instead of process():
if form.validate():
    ...
    new_id = db.table.insert(...)
    ...


Regards
Clemens

Dave S

unread,
Jul 13, 2021, 3:59:51 AM7/13/21
to web2py-users
On Friday, July 2, 2021 at 12:50:02 AM UTC-7 Clemens wrote:
You can use validate() instead of process():
if form.validate():
    ...
    new_id = db.table.insert(...)
    ...



Thanks  I had to read that several times before I caught the ", dbio = False" part of the shortcut.

/dps

 
Reply all
Reply to author
Forward
0 new messages