0

私は現在、djangoを使用してpostgresqlに取り組んでおり、postgreが古いクエリを保持してすべてをブロックしたtry: except: ステートメントで問題が発生しました。

その問題を修正するために、django.db.connection._rollback() が接続を過去のある時点にリセットし、さらにクエリを要求できるようになることがわかりました。

私の質問は: _rollback() はどこまでリセットされますか?

私がテーブル Member を持っていると仮定します:

4つのメンバーを作成できたが、5番目がすでにDBにある場合-私はそれを更新します:

 for members in member_list:
    try:
        create_member(member)
    excepte blabla, e:
        rollback()
        update_member()

4人の最初のメンバーを作成しますか?

4

1 に答える 1

1

ロールバックは、データベースの状態をトランザクションが開始された時点に戻す必要があります。もちろん、開始点は、使用しているトランザクション管理の種類、または間にコミットが発生する時期によって異なります。トランザクション管理に関する django のドキュメントを読む必要があります。

于 2012-08-08T11:57:04.227 に答える