Как Django обрабатывает несколько действий CRUD над одной таблицей? (в одно и то же время)

Мне интересно, как Django обрабатывает несколько действий, выполняемых над одной и той же таблицей одновременно. Я использую Postgresql с Django ORM.

Имеет ли он механизм блокировки для обработки такого сценария?

Если да, то это по умолчанию или необходимо добавить какой-либо параметр?

Django предлагает select_for_update менеджерский метод для блокировки базы данных. Имейте в виду, что для достижения блокировки ваш код должен быть обернут transaction.atomic. В противном случае несколько запросов к базе данных для одних и тех же данных не будут препятствовать друг другу. Посмотрите документацию для более подробной информации.

Вернуться на верх