Tôi có một cái gì đó như:Có select_for_update thả khóa vào lần lưu đầu tiên() hoặc ở cuối chế độ xem không?
newsletter = Newsletter.select_for_update().latest()
newsletter.started_sending = timezone.now()
newsletter.save()
newsletter.send()
Sau đó, nó đánh một điều kiện chủng tộc mà tôi đã gửi bản sao, có lẽ vì send() đã bị trúng hai công việc cron. Điều này khiến tôi nghĩ rằng khóa được phát hành vào lần lưu đầu tiên, khi tôi nghĩ rằng nó sẽ không được phát hành cho đến cuối màn hình.
Được phát hành vào lần lưu đầu tiên, phải không?
https://docs.djangoproject.com/en/dev/ref/models/querysets/ –
@pst Tôi đã đọc điều đó, đặc biệt là https://docs.djangoproject.com/en/dev/ref/models/querysets/# select-for-update. –