2016-08-23 8 views
3

SQLAlchemyモデルのすべてのインスタンス、つまりVisitLogを削除するFlaskルートが必要です。私はVisitLog.query.delete()と呼んでからページにリダイレクトしますが、古いエントリはまだ存在します。エラーはありませんでした。なぜ彼らは削除されませんでしたか?ただ、他の書き込み操作のようなSQLAlchemyで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> 

答えて

2

、あなたは削除バルクを実行した後、セッションをコミットする必要があります。

VisitLog.query.delete() 
db.session.commit() 
関連する問題