単一レコードの更新については、次のコードを試しましたが、機能しています。
uid=1
info = Info.query.filter_by(id=uid).first()
info.sold_status ='1'
db.session.add(info)
db.session.commit()
ここで、1つの列を複数の行に更新したいと思います。私が試してみました:
for row in db.session.query(Uninstall.status).all():
print row.status
abc=row.status
abc=uid
db.session.add(row.status)
db.session.commit()
しかし、それは機能していません。
前もって感謝します :)
提案は最適化されていません。オプションを使用して更新できます:1。
for row in Uninstall.query: # all() is extra
row.status = new_status
Session.commit()
行がたくさんある場合は高速になる可能性がありますが、すべての行に対してUPDATE
が呼び出されます。良くないですよね?
2.2。
Uninstall.query.update({Uninstall.status: new_status})
Session.commit()
すべての行に対して1つのUPDATE
クエリのみを呼び出します。