notice that productId = request.vars.productId userId = session.auth.user.id sql = "INSERT INTO orders (productId, userId, qty, order_date) values (str(productId), str(userId), str(qty), str(order_date))" #sql = sql + "(" + str(productId) + "," + str(userId) + "," + str(qty) + "," + str(order_date) + "')" r = db.executesql(sql)
with this model: db.define_table('orders', Field('productId', db.product), Field('userId', db.auth_user), Field('qty', 'float'), Field('order_date','datetime'), ) in PYDAL becomes: db.orders.insert(productId=productId, userId=auth.user_id, qty=qty, order_date=request.now) On Tuesday, 5 June 2018 15:53:04 UTC+2, elisha bere wrote: > > Hie , > > i am a new developer from Zimbabwe and the logic i used for my add to cart > is giving me an error how can i handle this? > > MODEL CODE: > > > db.define_table('products', > Field('product_name'), > Field('current_price', 'float'), > Field('image', 'upload'), > Field('description', type='text'), > Field('product_availability', requires = IS_IN_SET(['Available','Not > Available'])), > auth.signature, > ) > > db.define_table('orders', > Field('productId', db.product), > Field('userId', db.auth_user), > Field('qty'), > Field('order_date'), > ) > > CONTROLLER CODE > > def proc(): > prodDict = {} > productrows = db(db.products).select() > for x in productrows: > prodDict[x.id] = x.product_name > order_date = str(request.now.year) + "-" + str(request.now.month) + > "-" + str(request.now.day) > qty = request.vars.qty > productId = request.vars.productId > userId = session.auth.user.id > sql = "INSERT INTO orders (productId, userId, qty, order_date) values > (str(productId), str(userId), str(qty), str(order_date))" > #sql = sql + "(" + str(productId) + "," + str(userId) + "," + str(qty) > + "," + str(order_date) + "')" > r = db.executesql(sql) > rows = db(db.orders.userId==session.auth.user.id).select(orderby=~ > db.orders.id) > return locals() > > VIEWCODE > > {{extend 'layout.html'}} > <h1>Shopping Cart</h1> > <p> > Items in Cart > </p> > <table class='table table-striped table-hover'> > {{for x in rows:}} > <tr> > <td>{{x.qty}}</td> > <td>{{=prodDict[x.id]}}</td> > <td><a href='#delete'>Delete</a></td> > </tr> > {{pass}} > </table> > <br/> > <a href='view'>Continue Ordering</a> > > PLEASE ASSIST .....the add to cart button is there on my main page but > when i add something to cart it gives me a error below > > Traceback > > 1. > 2. > 3. > 4. > 5. > 6. > 7. > 8. > 9. > 10. > 11. > 12. > 13. > 14. > 15. > 16. > > Traceback (most recent call last): > File "C:\Users\elisha.bere\Downloads\my_python_files\PIZZZA > PROJECT\web2py_win\web2py\gluon\restricted.py", line 219, in restricted > exec(ccode, environment) > File "C:/Users/elisha.bere/Downloads/my_python_files/PIZZZA > PROJECT/web2py_win/web2py/applications/project/controllers/products.py" > <http://127.0.0.1:8000/admin/default/edit/project/controllers/products.py>, > line 58, in <module> > File "C:\Users\elisha.bere\Downloads\my_python_files\PIZZZA > PROJECT\web2py_win\web2py\gluon\globals.py", line 419, in <lambda> > self._caller = lambda f: f() > File "C:/Users/elisha.bere/Downloads/my_python_files/PIZZZA > PROJECT/web2py_win/web2py/applications/project/controllers/products.py" > <http://127.0.0.1:8000/admin/default/edit/project/controllers/products.py>, > line 50, in proc > r = db.executesql(sql) > File "C:\Users\elisha.bere\Downloads\my_python_files\PIZZZA > PROJECT\web2py_win\web2py\gluon\packages\dal\pydal\base.py", line 768, in > executesql > adapter.execute(query) > File "C:\Users\elisha.bere\Downloads\my_python_files\PIZZZA > PROJECT\web2py_win\web2py\gluon\packages\dal\pydal\adapters\__init__.py", > line 67, in wrap > return f(*args, **kwargs) > File "C:\Users\elisha.bere\Downloads\my_python_files\PIZZZA > PROJECT\web2py_win\web2py\gluon\packages\dal\pydal\adapters\base.py", line > 412, in execute > rv = self.cursor.execute(command, *args[1:], **kwargs) > OperationalError: no such column: productId > > Error snapshot [image: help] > <http://127.0.0.1:8000/admin/default/ticket/project/127.0.0.1.2018-06-04.16-26-14.cccf8530-dc40-4060-b792-ebd9a3b014e2#> > > > <class 'sqlite3.OperationalError'>(no such column: productId) > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.