在SQLAlchemy中调用delete()后,行仍然存在

时间:2016-08-23 16:46:02

标签: python flask sqlalchemy flask-sqlalchemy

我想要一个Flask路由删除SQLAlchemy模型的所有实例VisitLog。我调用VisitLog.query.delete(),然后重定向回页面,但旧条目仍然存在。没有错误。为什么他们没有被删除?

@app.route('/log')
def log():
    final_list = VisitLog.query.all()
    return render_template('log.html', loging=final_list)

@app.route('/logclear')
def logclear():
    VisitLog.query.delete()
    return redirect("log.html", code=302)
<a href="{{ url_for('logclear') }}">Clear database</a>

1 个答案:

答案 0 :(得分:3)

与其他写操作一样,您必须在执行批量删除后提交会话。

VisitLog.query.delete()
db.session.commit()