ORMを使用するのではなく、ORMを使用しないPythonおよびMySQL(SQLObject / SQLAlchemy)で次のアプローチを検討しています。短期的には問題ないと思われるので、これが長期的にマイナスの影響を与える可能性があるかどうかについて、フィードバックをお寄せください。
データベースの行をオブジェクトに変換するのではなく、次のようにします。
- 各テーブルはクラスで表されます
- 行はdictとして取得されます
カーソルを表すオブジェクトは、次のようなテーブルへのアクセスを提供します。
cursor.mytable.get_by_ids(low、high)
削除とは、time_of_removalを現在の時刻に設定することを意味します
つまり、基本的にこれによりORMが不要になります。これは、各テーブルにそれを表すクラスがあり、そのクラス内で個別のdictが各行を表すためです。
python / blubのファーストクラスオブジェクトである各dict(行)により、オブジェクトのクラスを知ることができ、さらに、Pythonの低レベルデータベースライブラリがフィールドレベルでの型の変換を処理するため、型マッピングは簡単です。それらの適切なアプリケーションレベルのタイプ。
この道を進む際に潜在的な問題を見つけた場合は、私に知らせてください。ありがとう。