我使用了一个单击功能来到达控制器中的确认方法,并且我的购物车表中有6个项目,我的问题始于插入命令,由于日期,起初显示很多错误,所以我使用了str以字符串形式获取日期,则没有错误,但是当检查我的数据库时,似乎什么都没有插入。我已经尝试了很多类似db.orders.bulk_insert的变体,但它也没有解决问题。我已经检查了每个变量,看是否是问题所在,但不是。
但是第二条sql命令执行得很好。我找不到任何可以解决类似问题的源代码,请他们使我弄错或错过什么。 我尝试使用调试点,但仍然没有运气
然后经过很多次尝试,我在db.orders页面中得到了回溯错误,这是它的图像“ https://i.stack.imgur.com/uUPXk.png”。但是无论我做什么,都不会消失
这是我的数据库
db.define_table('orders',
Field('orderid',type = 'integer'),
Field('order_date'),
Field('order_time'),
Field('shop_name'),
Field('mobile_no',type = 'integer'),
Field('product_name'),
Field('case_qty',type = 'integer'),
Field('pcs_qty',type = 'integer'),
Field('incre',type = 'integer'),
Field('anything')
)
db.define_table('cart',
Field('product_name'),
Field('case_qty',type = 'integer'),
Field('pcs_qty',type = 'integer')
)
db.define_table('one',
Field('incre',type = 'integer')
)
这是我的python代码
def confirm():
onedict = {}
inc = db(db.one).select()
for x in inc:
onedict[x.id]=x.incre
cartrows = db(db.cart).select()
on = onedict[1]
for x in cartrows:
product = x.product_name
case = x.case_qty
pcs = x.pcs_qty
date = str(request.now.year)+"-"+str(request.now.month)+"-"+str(request.now.day)
time = str(request.now.hour)+":"+str(request.now.minute)
shop = session.shop_name
mobile = session.mobile_no
sql1 = ("insert into orders(product_name,case_qty,pcs_qty,order_date,order_time,
orderid,shop_name,mobile_no)values(?,?,?,?,?,?,?,?)")
r = db.executesql(sql1,(product,case,pcs,date,time,on,shop,mobile))
on = on + 1
sql2 = db(db.one.id == 1).update(incre = on)
redirect(URL('login'))
return locals()