Web アプリケーションではないプロジェクトで SQLAlchemy を使用しています。データベースから多数の異なるオブジェクトをロードしてローカルで変更するサーバー アプリケーションですが、コミットが発行されるたびにそれらの更新をデータベースに保存したくありません。私は以前、いくつかの Web プロジェクトで Django ORM を使用していましたが、私が達成しようとしているものにより適していることがわかりました。Django ORM では、保存したくない他のオブジェクトを保存せずに、いつでも各オブジェクトを .save() できました。SQLAlchemy でこのように機能する理由は理解できますが、Django のような方法でこれを行うにはどうすればよいでしょうか?
更新: 私が達成しようとしていることを理解しやすくするために、例を示します。
実際の動作は次のとおりです。
a = MyModel.query.get(1)
b = MyModel.query.get(1)
a.somefield = 1
b.somefield = 2
# this will save both of changed models
session.commit()
これは私がそれをどのように機能させたいかです:
a = MyModel.query.get(1)
b = MyModel.query.get(1)
a.somefield = 1
b.somefield = 2
a.save()
# I didn't want to save b, changes of b weren't committed
実際に保存されるものをより細かく制御したいと考えています。各オブジェクトの変更を 5 分ごとに保存したいと考えています。