Ich habe so etwas wie:Gibt select_for_update die Sperre beim ersten Speichern() oder am Ende der Ansicht frei?
newsletter = Newsletter.select_for_update().latest()
newsletter.started_sending = timezone.now()
newsletter.save()
newsletter.send()
Dann traf es eine Race-Bedingung, wo ich Duplikate sendete, vermutlich weil send() wurde von zwei Cronjobs getroffen. 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?
https://docs.djangoproject.com/en/dev/ref/models/querysets/ –
@pst ich gelesen habe, dass insbesondere die https://docs.djangoproject.com/en/dev/ref/models/queriesets/# Aktualisierungsbereich auswählen. –