try: db.table.insert(f_name=form.vars.f_name)
2014-09-23 6:10 GMT-03:00 Andy Joel <ak_j...@hotmail.com>: > I have a very simple form processing page in my controller: > > def new(): > form = SQLFORM.factory( > Field('f_name', label='Your name', requires=IS_NOT_EMPTY()), > ) > if form.process().accepted: > db.table.insert(**form.vars) > response.flash = 'form accepted' > elif form.errors: > response.flash = 'form has errors' > else: > response.flash = 'please fill the form' > return dict(form=form) > > If I leave the form blank, it says there are errors, I fill it in, it says > the form is accepted. But it fails to update the database, giving this > error: > > <class 'psycopg2.IntegrityError'> null value in column "id" violates > not-null constraint DETAIL: Failing row contains (null, Boris, T, > 2014-09-23 10:03:30, 11, 2014-09-23 10:03:30, 11). > What is curious is that I have used this successfully to populate the > table: > db.table.insert(f_name='Mary') > > I am guessing form.vars includes a value for ID, and Web2Py is trying to > write this to the database (postgreSQL by the way), rather than allowing > the database to assign a value, and so the database objects. > > Looks like it may be a bug, but I may well be missing something. > > -- > 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+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- 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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.