とりあえずの独り言

テーマは特に限定せず、独り言のように

プログラム-python

sqlalchemy-migrateのtestコマンドは、想像していたテストとは違った

python manage.py test でscriptファイルのテストができて、たとえエラーだったとしても冪等性が守られてるもんだと思ってた。 testって言ったら、upgradeしてdowngradeしてあってたらOKの判定してくれて、仮に間違ってたとしてもtest前の状態から変わってい…

【SQLAlchemy】sessionの作成はどの方法がいいのか?考えてみた

概要 sessionクラスを使う session_markerクラスを使う scoped_sessionクラスを使う(オススメ) session のクローズについて 補足(auto_flush, auto_commit設定について) 補足(トランザクションについて) 概要 SQLAlchemyでは、sessionの作成方法が複数あっ…

【SQLAlchemy】flushとcommitの違い

session.commit()をすると、session.flush()も一緒に実行するらしくcommit()だけでもいいんじゃないかと思ってた。 だが、commit()だけだと、うまくいかないケースがあったので備考録として残す。 ざっくりというと、思った通りの順番でaddして登録したつも…

【python】適当に名前を付けると、ビルトイン関数を上書いたり、衝突したりする

python を勉強初めの時は、pythonが用意してくれてる関数を書き換えることができるっていう概念がなかったので、あれ?ってなるやつ ビルトイン関数と同じ名前の変数を定義しちゃう import json print(json) json = json.dumps({'hogehoge': 'foo'}) print(t…

pythonのsetter/getterを書こうとしただけなのに、地味にはまった件

ひさびさにpythonを書いていて、setter/getter的なやつのpropertyってどうやって書いたっけかな?って 軽くググって流し読みして試したら、なんかエラーが出て地味にはまった デコレータを付けます的なことしか書いていないのが多かったんで、なんでこうなの…