this is not a web2py error. OperationalError is a database error. I do not think it is caused by this code. Soemthing is wrong with the db config.
On Sep 21, 5:04 am, bally boy <[email protected]> wrote: > Ok so this is a little tweaked code of the estore which Massimo posted. The > original one works fine, but here I am just adding a table categories :- > > db.define_table('categories', > > Field('category',requires=IS_NOT_IN_DB(db,'categories.category')),format='%(category)s') > > db.define_table('product', > Field('name',requires=IS_NOT_IN_DB(db,'product.name')), > Field('image','upload'), > Field('icon','upload'), > Field('price','double',requires=IS_FLOAT_IN_RANGE(0,1000)), > Field('info','text',default=''), > Field('category',db.categories), > format='%(name)s ($%(price)s)') > > db.define_table('order_item', > Field('product',db.product), > Field('buyer',db.auth_user), > Field('quantity','integer'), > Field('price','double'), > Field('ordered_on','datetime',default=request.now)) > > But I get this error here:- > > Traceback (most recent call last): > File "/home/sathyavivek/web2pynew/gluon/restricted.py", line 186, in > restricted > exec ccode in environment > *File > **"/home/sathyavivek/web2pynew/applications/sathya/models/db_store.py"* > <http://127.0.0.1:8000/admin/default/edit/sathya/models/db_store.py>*, > line 11, in <module> > format='%(name)s ($%(price)s)'*) > File "/home/sathyavivek/web2pynew/gluon/sql.py", line 1359, in define_table > t._create(migrate=migrate, fake_migrate=fake_migrate) > File "/home/sathyavivek/web2pynew/gluon/sql.py", line 1845, in _create > fake_migrate=fake_migrate) > File "/home/sathyavivek/web2pynew/gluon/sql.py", line 1914, in _migrate > self._db._execute(sub_query) > File "/home/sathyavivek/web2pynew/gluon/sql.py", line 980, in <lambda> > self._execute = lambda *a, **b: self._cursor.execute(*a, **b) > File "/usr/lib/pymodules/python2.6/MySQLdb/cursors.py", line 166, in execute > self.errorhandler(self, exc, value) > File "/usr/lib/pymodules/python2.6/MySQLdb/connections.py", line 35, > in defaulterrorhandler > raise errorclass, errorvalue > OperationalError: (1005, "Can't create table 'web2new.#sql-3e4_2bb' > (errno: 150)")

