Вложенные транзакционные.атомарные циклы с блокировками

При настройке Django 5.0.2 и PostgreSQL 14 (Azure Database Flexible Server) у меня есть этот кусок кода, который, в основном, переводится так:

with transaction.atomic():
    objects = ObjectModel.objects.all():
    for object in objects:
        with transaction.atomic():
            another_object = AnotherObjectModel.objects.select_for_update().get(id=1000)
        # ...

У меня было довольно много сбоев в моей базе данных, и это оказалось тем местом, где возникает узкое место. Поскольку это унаследованный код (и простите меня за обвинения), и я не могу найти никакой документации или свидетельств того, почему он был реализован именно так, может ли кто-нибудь высказать мнение о том, как это может или не может быть причиной сбоя?

Прошу простить меня, если это не слишком понятно или не соответствует правилам форума, я буду более чем счастлив попытаться рассказать подробнее.

Боюсь, я пока ничего не пробовал.

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