Oh.. mabybe this ?? http://www.web2py.com/books/default/chapter/29/6?search=primarykey#Legacy-databases-and-keyed-tables
"The update_record function is not available for Rows of keyed tables." Then what option do I have to update the table ? On Feb 8, 1:45 pm, Omi Chiba <ochib...@gmail.com> wrote: > I have legacy table called IQWAGFTY which doesn't have id field so I > specify primarkey for the existing field. > > I received KeyError: 'TYPRCD' for crud.updae but not crud.create. What > am I doing wrong or is it not supported to update with primarykey ? > > Model > ------------- > db.define_table('IQWAGFTY', > Field('TYPRCD', length=15, label="Product Code:"), > Field('TYPRKJ', length=50, label="Part Number:"), > Field('TYTYPE', length=2, label="Type:"), > Field('TYFLAG', length=1, default=""), > Field('TYUUSR', length=128, default = auth.user.username.upper() > if auth.user else None, label="Updated by:"), > Field('TYUDAT', 'datetime', default=request.now, label="updated > on:"), > primarykey=['TYPRCD']) > > Contoller (update:NG) > ------------------------------ > def test(): > return dict(form=crud.update(db.IQWAGFTY, > db.IQWAGFTY(db.IQWAGFTY.TYPRCD=='000115126002200'))) > > TRACEBACK: > Traceback (most recent call last): > File "D:\web2py\gluon\restricted.py", line 194, in restricted > exec ccode in environment > File "D:/web2py/applications/Inventory_Reserve_Admin/controllers/ > default.py", line 111, in <module> > File "D:\web2py\gluon\globals.py", line 149, in <lambda> > self._caller = lambda f: f() > File "D:\web2py\gluon\tools.py", line 2456, in f > return action(*a, **b) > File "D:/web2py/applications/Inventory_Reserve_Admin/controllers/ > default.py", line 68, in test > return dict(form=crud.update(db.IQWAGFTY, > db.IQWAGFTY(db.IQWAGFTY.TYPRCD=='000115126002200'))) > File "D:\web2py\gluon\tools.py", line 2978, in update > detect_record_change = self.settings.detect_record_change): > File "D:\web2py\gluon\sqlhtml.py", line 1033, in accepts > record_id = dict((k, request_vars[k]) for k in > self.table._primarykey) > File "D:\web2py\gluon\sqlhtml.py", line 1033, in <genexpr> > record_id = dict((k, request_vars[k]) for k in > self.table._primarykey) > KeyError: 'TYPRCD' > > Contoller(create:OK) > ----------------------------- > def test(): > return dict(form=crud.create(db.IQWAGFTY))