I'm using postgresql. I had to change a field name in my table def,
which are in the web2py models. The database changed accordingly, but
now I get a key error when I try to insert a new record using
appadmin. I made sure appadmin.py is the latest and greatest. Still
getting key error. I don't dare drop the db since each time I've done
that before I've not been able to get it running again, no matter how
many variations of migrate and fake_migrate I tried. So end up having
to re-create the app, and then copy in the files, which takes a long
time.
I love web2py but database issues are driving me nuts. Can someone
please help me? My app is so close to finished.
Here's the traceback
Traceback (most recent call last):
File "/home/www-data/web2py/gluon/restricted.py", line 192, in
restricted
exec ccode in environment
File "/home/www-data/web2py/applications/baristacode/controllers/
appadmin.py", line 411, in <module>
File "/home/www-data/web2py/gluon/globals.py", line 145, in <lambda>
self._caller = lambda f: f()
File "/home/www-data/web2py/applications/baristacode/controllers/
appadmin.py", line 126, in insert
form = SQLFORM(db[table], ignore_rw=ignore_rw)
File "/home/www-data/web2py/gluon/sqlhtml.py", line 830, in __init__
inp = self.widgets.options.widget(field, default)
File "/home/www-data/web2py/gluon/sqlhtml.py", line 218, in widget
options = requires[0].options()
File "/home/www-data/web2py/gluon/validators.py", line 438, in
options
self.build_set()
File "/home/www-data/web2py/gluon/validators.py", line 421, in
build_set
fields = [self.dbset.db[self.ktable][k] for k in self.fields]
File "/home/www-data/web2py/gluon/dal.py", line 4675, in __getitem__
return dict.__getitem__(self, str(key))
KeyError: 'name_string'
By the way, I changed the field name from "name_string" to "name".
Somewhere, "name_string" is still cached. I just can't figure out
where. I've cleared the caches, restarted, etc etc.
Thanks in advance for your help.
Eric