6

この状況では、「espn_game_id」および「a_name」という列名を持つ、Game という宣言ベースで宣言されたテーブルがあると仮定します。変数「s」の下に開いているセッション オブジェクトがあります。したがって、これは機能します:

s.add(Game(espn_game_id=888, a_name='lol'))
s.commit()

これは失敗します:

n = {"espn_game_id": 888, "a_name": 'lol'}
s.add(Game(n))
s.commit()

これは機能します (espn_game_id==888 のエントリが既にあると仮定します):

n = {"a_name": 'lol'}
s.query(Game).filter(Game.espn_game_id==888).update(n)
s.commit()

2 番目のケースが失敗するのはなぜですか? また、そのタイプの構文をここで機能させる方法はありますか?

4

1 に答える 1