[解決済み] sqlalchemy flush()で挿入されたidを取得する?
2022-05-04 11:53:36
質問
このようなことをしたいのですが。
f = Foo(bar='x')
session.add(f)
session.flush()
# do additional queries using f.id before commit()
print f.id # should be not None
session.commit()
しかし
f.id
は
None
を試したところ どうしたらうまくいくのでしょうか?
どのように解決するのですか?
サンプルコードはそのまま動作するはずです。SQLAlchemy は、このように
f.id
自動生成された主キーカラムであると仮定しています。 プライマリキー属性は
flush()
を呼び出すことはありません。
commit()
は必要ないはずです。 つまり、ここでの答えは、以下のいずれか、または複数にある。
- マッピングの詳細
- 使用しているバックエンドに奇妙な癖がある場合 (例えば、SQLite は複合主キーに整数値を生成しないなど)
- echo をオンにしたときに出力される SQL の内容
関連
-
[解決済み] argparseによるブーリアン値のパース
-
[解決済み] for'ループでインデックスにアクセスする?
-
[解決済み] staticmethodとclassmethodの違いについて
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] バイトを文字列に変換する
-
[解決済み] 複数行の長い文字列を作成するためのPythonicな方法
-
[解決済み] Pandas DataFrameの特定の列の値がNaNである行を削除する方法
-
[解決済み] SQLAlchemy: flush() と commit() の違いは何ですか?
-
[解決済み】__str__と__repr__の違いは何ですか?
-
[解決済み】プログラムを停止/終了させることなく、完全な例外トレースバックをキャッチして表示する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Pythonの非常に便利な2つのデコレーターを解説
-
Python関数の高度な応用を解説
-
PythonはWordの読み書きの変更操作を実装している
-
[解決済み】pygame.error: ビデオシステムが初期化されていない
-
[解決済み】numpy: true_divide で無効な値に遭遇
-
[解決済み】Python elifの構文が無効です【終了しました
-
[解決済み】IndexError: invalid index to scalar variableを修正する方法
-
[解決済み] TypeError: 'DataFrame' オブジェクトは呼び出し可能ではない
-
[解決済み】ImportError: bs4という名前のモジュールがない(BeautifulSoup)
-
[解決済み] SQLAlchemy: flush() と commit() の違いは何ですか?