データベースに永続化されたものと変わらないように、オブジェクトをセッションにアタッチする必要があります。(コードで説明する方が簡単です):
session.query(type(some_object)).filter_by(id=some_object.id).one()
それを行うより適切な方法はありますか?
session.add(some_object)
そのようなIDを持つエンティティはすでにこのセッションにアタッチされている可能性があるobject = session.merge(some_object)
ため機能しません。また、デタッチされたコピーから状態を変換するため、機能しません(object.name = 'asdfasdf'を作成すると、これらの変更はマージ後に保留されます物体)
編集:
私は少し醜い方法を見つけました:
some_object = session.merge(some_object)
session.refresh(some_object)
しかし、これを 1 回の呼び出しで行う方法はありますか?