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)")

Reply via email to