django3.2 で追加された select_for_update についての使用方法を調べたときの内容です。
まず、公式ドキュメントの url を共有します。
公式ドキュメントでは select_for_update の利用例として以下のような実装が紹介されていました。
from django.db import transaction
entries = Entry.objects.select_for_update().filter(author=request.user)
with transaction.atomic():
for entry in entries:
...
この実装を参考にして、自身の django プロジェクト内で、実際に使いつつ紹介します。
コードの実行には以下のコマンドを実行して、プロセスを分けた上で検証します。
python manage.py shell -i ipython