SQLite does not support this AFAIK. Keyed tables (the ones that define a primarykey) so far are only supported on DB2, MS SQL, Ingres and Informix. Others (except SQLite) can be added following the instructions in: http://groups.google.com/group/web2py/browse_thread/thread/db150376b06d47fc
Denes. On Mar 12, 3:54 am, MarKco <[email protected]> wrote: > Massimo, > thank you for your very very very quick response! > > I tried the workaround but it does not seem to work. > This is the trace: > > Error traceback > > Traceback (most recent call last): > File "C:\web2py\gluon\restricted.py", line 173, in restricted > exec ccode in environment > File "C:/web2py/applications/test_mail/controllers/eammail.py", line > 45, in <module> > File "C:\web2py\gluon\globals.py", line 96, in <lambda> > self._caller = lambda f: f() > File "C:/web2py/applications/test_mail/controllers/eammail.py", line > 19, in detail > if f.accepts(request.vars, session): > File "C:\web2py\gluon\sqlhtml.py", line 715, in accepts > record_id = dict([(k,request_vars.get(k,None)) for k in > self.table._primarykey]) > KeyError: 'evt_code' > > In file: C:\web2py\applications\test_mail/controllers/eammail.py > > # coding: utf8 > # try something like > > def list_emails(): > _list = db().select(db.CUS_R5KHMAIL001.evt_code, > db.CUS_R5KHMAIL001.mail_status, > db.CUS_R5KHMAIL001.object) > th = THEAD(TH("Code"), TH("Status"), TH("Subject"), TH('Action'), > _class='cus') > return dict(list_rcds=_list, table_header=th) > > def detail(): > #try: > if len(request.args): > > records=db(db.CUS_R5KHMAIL001.evt_code==request.args[0]).select() > print records > if len(request.args) and len(records): > f = SQLFORM(db.CUS_R5KHMAIL001, records[0], > readonly=False) > #return dict(form=request.vars) > if f.accepts(request.vars, session): > #if f.accepts(records[0], session): > response.flash='form accepted' > elif f.errors: > response.flash='form has errors' > #else: > # response.flash="Ne' accettato ne' in errore?" > #else: > # f = SQLFORM(db.CUS_R5KHMAIL001) > > return dict(form=f) > #except KeyError: > # return("Errore con la chiave, evidentemente") > > def grid_mail(): > grid = webgrid.WebGrid(crud) > _list = db().select(db.CUS_R5KHMAIL001.ALL) > grid.datasource = _list > grid.pagesize = 10 > grid.field_headers = ['Status', 'Subject', 'Action'] > grid.enabled_rows = ['header','filter', > 'pager','footer','add_links'] > grid.action_links = ['view','edit'] > grid.action_headers = ['view','edit'] > > return dict(grid=grid()) > > response._vars=response._caller(detail) > > What is there in my code so that the bug happens? I mean, if > f.accepts(request.vars, session) is such an usual operation as far as > I know. Is the reason why I experience this problem known? > Thanks again for your help, I'm totally available for further testing > and experiments. > > -- > Marco > > On 11 Mar, 23:48, mdipierro <[email protected]> wrote: > > > You have an old verison of sqlhtml but you discovered a bug and the > > bug persists in newer version. > > Can you try replace > > > record_id = dict([(k,request_vars[k]) for k in > > self.table._primarykey]) > > > with > > > record_id = dict([(k,request_vars.get(k,None)) for k in > > self.table._primarykey]) > > > Let us know if this fixes it and I will put it in trunk. -- You received this message because you are subscribed to the Google Groups "web2py-users" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/web2py?hl=en.

