Модель транзакции Django по умолчанию предназначена для автоматической привязки к db. Это означает, что если есть исключения после того, как некоторые изменения были совершены, но до того, как все изменения будут совершены, вы можете столкнуться с проблемами или нет. Это зависит от того, что именно вы пытаетесь сделать. Это потенциальная проблема, основанная на вашем собственном коде? Есть ли риск возникновения ошибки, и если да, было бы проблемой, что некоторые объекты были бы обновлены, но не другие?
Если это так, вы можете предотвратить это, используя @ transaction.atomic decorator (для функции) или путем упаковки определенного фрагмента кода с помощью with transaction.atomic():
. Это приведет к откату изменений в db в случае ошибки. Просто быть ультрабезопасным, я думаю, вы всегда можете использовать атомные транзакции, но вам нужно?