2011-05-07 18 views

答えて

2

最初にコミットする必要があります(session.add(req)以降)。

+0

しかし、req.idを別のテーブルに1つのトランザクションで挿入したいとします。 – Bdfy

+0

次に、リレーショナルデータベースレイアウトを使用する必要があります。 [このチュートリアル](http://www.sqlalchemy.org/docs/orm/tutorial.html)を読んでください。もちろん、テーブル内の最大インデックス(SELECT MAX(ID)FROMテーブル)を選択しようとすると、あなたのオブジェクトのインデックスはこの最大インデックス+ 1でなければなりませんが、本当は安全ではありません。これは同時に実行されます)。 –

0

最後のprint文の前にsession.commit()を実行すると、id属性が設定されます。書かれているように、エンジンがSQLクエリを実行する理由はないので、オブジェクトはまだ挿入されていません。クエリが実行されると(セッションのフラッシュまたはコミット時に)IDがそこに格納されます。

0

flush()で十分です。クエリを実行して自動IDを入力します。

関連する問題