データを挿入することになっている多くの列を持ついくつかのテーブルがあります。「SQLAlchemyClassDefination」ですでに列を入力しているので、列の名前を再入力したくありません。
投稿された他の質問から、以下のコードで列の名前を取得できるようです。
for c in datatable.__table__.columns.keys():
print(c)
これにより、列名がわかります。ただし、必要なのは、列名を読み取るだけでなく、列にデータを挿入することです。以下は私が試したものです。
for_counter = 0
for instance in SESSION.query(SampleClass).filter(SampleClass.id == 2):
instance.__table__.columns.keys()[(for_counter)] = "texttoinsert"
for_counter += 1
これで列に「インデックスを付ける」ことができると思いましたが、コードを実行してデータベースを確認すると、自動インクリメントの「ID」列とデフォルトに設定されている日付のみがデータを取得します。「インスタンス」の他のすべての列はデータを取得しませんが、列に「texttoinsert」が見つかると予想していました。
基本的に、テーブルの名前を指定している限り、列インデックスを「使用して」データを挿入する関数を1つだけ作成したいと思います。これを達成する方法はありますか?