テーブルからエントリを削除しようとしています。これは、削除機能の私のコードです。
@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