高校サッカーのスコアを投稿する Web サイトからデータを取得し、それを Flask プロジェクトに入れています。私は Flask-SQLAlchemy を使用しており、ゲームが既に存在するかどうかを確認しようとしています。そうでない場合は、データベースに新しいゲームを作成します。存在する場合は、スコアを更新したいだけです(最後のインポート以降にスコアに修正があった場合に備えて)。私のコードは次のとおりです。
"""
Save to Games Table
"""
game = Games.query.filter_by(game_date=g_date, team1_name=t1_name, team1_score=t1_score, team2_name=t2_name, team2_score=t2_score).first()
"""
Need to set it to update scores if game already exists
"""
if not game:
add_game = Games(year_id=None, team1_id=None, team1_name=t1_name, team1_score=t1_score, team2_id=None, team2_name=t2_name, team2_score=t2_score, game_date=g_date)
db.session.add(add_game)
else:
game.team1_score = t1_score
game.team2_score = t2_score
db.session.add(game)
db.session.commit()
コードを実行すると、次のエラーが表示されます。
sqlalchemy.exc.InvalidRequestError: オブジェクト '' は既にセッション '1' にアタッチされています (これは '2' です)
これを行う正しい方法は何ですか?