web2py中的删除查询无效

0 投票
1 回答
631 浏览
提问于 2025-04-18 12:56

这是一个用来从数据库中删除记录的函数。

def pro_del():
    d = request.get_vars.d
    db(db.products.product_id == d).delete()
    session.flash = "Product Deleted"
    redirect(URL('default','index'))
    #return locals()

我确认了id成功传递给了这个函数,也就是d得到了它的值。我通过返回局部变量来检查这一点。
重定向也正常工作,消息也能正常显示。
只是查询没有成功,记录没有从数据库中删除。
注意:这里的'd'是字母和数字的组合。

1 个回答

0

来自web2py的数据库抽象层(DAL)文档:

在web2py中,像创建、删除、插入、截断、删除或更新这些操作,实际上都不会被真正保存,直到web2py发出提交命令。在模型、视图和控制器中,web2py会为你自动处理这个提交,但在模块中,你需要自己手动提交。

你试过在你的.delete()之后加上db.commit()吗?

撰写回答