前提・実現したいこと
SQLAlchemyでINSERTをした後に、そのテーブルのデータを取得したい。
発生している問題・エラーメッセージ
MariaDBを直接のぞくとちゃんとデータが入っているが、INSERTしたばかりのデータがall()
やfirst()
で取得できない。
ただ、しばらくすると取得できるようになっていたりする。
他に同じようにユーザ登録処理をしている箇所があるが、そちらは正常に動作(登録したデータを確認できる)している。
該当のソースコード
INSERT
python
1tag = Tag() 2tag.user = user 3tag.tag_name = tag.name 4tag.tag_class_name = tag.class_name 5tag.inserted_at = inserted_at.strftime('%Y-%m-%d %H:%M:%S') 6session.add(tag) 7session.commit()
SELECT
python
1session.query(Tag).order_by(asc(Tag.inserted_at)).all()
補足情報(FW/ツールのバージョンなど)
Python 3.6.4
MariaDB 5.5.56
SQLAlchemy 1.2.2
Tornado 4.5.3
追記
似たような状況で
https://stackoverflow.com/questions/48519688/sqlalchemy-with-flask-deleted-data-is-still-shown
のような質問がありました。
こちらに倣ってINSERT, SELECT時にsessionを明示的に作成、終了するようにしてみましたが変わりありませんでした。
回答1件
あなたの回答
tips
プレビュー