Gibt select_for_update die Sperre beim ersten save () oder am Ende der Ansicht frei?

8

Ich habe etwas wie:

%Vor%

Dann traf es eine Race-Bedingung, wo ich Duplikate sendete, vermutlich weil send () von zwei Cron-Jobs getroffen wurde. Was mich zu der Annahme bringt, dass das Schloss beim ersten Speichern freigegeben wird, wo ich dachte, es würde erst am Ende der Ansicht loslassen.

Es ist beim ersten Speichern freigegeben, oder?

    
Kit Sunde 29.08.2012, 07:56
quelle

1 Antwort

10

Von Ссылка

  

Djangos Standardtransaktionsverhalten

     

Djangos Standardverhalten besteht darin, dass es mit einer offenen Transaktion ausgeführt wird, die es automatisch festschreibt, wenn eine eingebaute, datenverändernde Modellfunktion aufgerufen wird. Wenn Sie beispielsweise model.save () oder model.delete () aufrufen, wird die Änderung sofort übernommen.

    
Kit Sunde 29.08.2012, 08:11
quelle

Tags und Links