我正在尝试从我的表中删除一个条目。这是我的删除功能代码。
@app.route("/delete_link/<link_id>", methods=['GET', 'POST'])
def delete_link(link_id):
link = models.Link.query.filter(models.Link.l_id == link_id).first()
db.session.delete(link)
db.session.commit()
return flask.redirect(flask.url_for('links'))
该行:db.session.delete(link)
返回我这个错误:
InvalidRequestError:对象“”已附加到会话“1”(这是“2”)
我也试过这段代码:
@app.route("/delete_link/<link_id>", methods=['GET', 'POST'])
def delete_link(link_id):
link = models.Link.query.filter(models.Link.l_id == link_id)
link.delete()
db.session.commit()
return flask.redirect(flask.url_for('links'))
这不会更新数据库。我猜链接一定不在会话中,但我不知道如何检查,以及如何修复它。我是 sqlalchemy 的新手。
编辑:
我用它来创建我的 db 变量,它可能在这个阶段创建会话(这是在代码的顶部)。它来自烧瓶文档
from yourapplication import db