Я действительно не понимаю, как атомарные запросы заданы в Django. Если параметр ATOMIC_REQUESTS установлен в True в настройках БД, это означает, что все представления теперь выполняются в транзакции? Что делать, если я хочу, чтобы в транзакции выполнялись только определенные виды? Должен ли я затем явно определять все остальные, которые не выполняются в транзакции с помощью декоратора @transaction.non_atomic_requests
?Django Сделки ATOMIC_REQUESTS
ответ
Когда параметр ATOMIC_REQUESTS установлен в True в настройках БД, это означает, что все представления теперь выполняются в транзакции?
Да. От docs:
Перед вызовом функции просмотра Django начинает транзакцию. Если ответ создается без проблем, Django совершает транзакцию. Если представление создает исключение, Django возвращает транзакцию.
ли я тогда нужно явно определить все остальные, которые не работают в сделке с @transaction.non_atomic_requests
декоратора?
Да.
Когда включено
ATOMIC_REQUESTS
, все еще возможно предотвратить запуск просмотров в транзакции. Декораторnon_atomic_requests
] будет отменять эффектATOMIC_REQUESTS
для данного вида.
После того, как вы находитесь в точке принятия решения на индивидуальной основе к случаю, когда следует использовать транзакции, хотя, я предпочитаю не использовать ATOMIC_REQUESTS
и просто использовать transaction.atomic
(будь то в качестве декоратора или менеджера контекста), где это необходимо. Вот пример из the documentation:
@transaction.atomic
def viewfunc(request):
# This code executes inside a transaction.
do_stuff()
- 1. Django ATOMIC_REQUESTS не работает
- 2. Сделки и сделки
- 3. neo4jrb как сбросить сделки ожидания открытой сделки
- 4. ORMLite + Сделки
- 5. oracle Сделки
- 6. MySql Сделки
- 7. ADO.NET Сделки
- 8. Сделки. NET
- 9. Сделки JDBC
- 10. EJB Сделки
- 11. VBA Сделки
- 12. Entity Framework6 сделки против сделки обрабатываются в хранимых процедурах
- 13. Сделки в хранимых процедурах
- 14. Сделки с использованием mysql_real_escape_string
- 15. Сделки в SQLITE Android
- 16. MVC3 Сделки Счета
- 17. Сделки SQL Server 2005
- 18. Сделки с MySQL?
- 19. Долгоживущие сделки приемлемы?
- 20. Сделки через полоску Connect
- 21. Граница весенней сделки
- 22. сделки в PostgreSql
- 23. Java «Агрегат» Сделки
- 24. Сделки - Oracle Vs PostgreSQL
- 25. Сделки с Python sqlite3
- 26. Сделки В MongoDB
- 27. Сделки внутри хранимой процедуры
- 28. Сделки не активны
- 29. ошибка захват сделки
- 30. ActiveRecord сделки, сохранение записей
так, если я использую 'transaction.atomic' на вид без' включен ATOMIC_REQUESTS' и он будет использовать атомную сделку по этой точке зрения? Извините за явное задание, но для меня документы не дают четкого ответа на эти вопросы. –
@ip .: Да, это верно для любой функции или блока кода, включая представление. –
Если нужно, см. Мой [ответ на откат внутри атомного блока] (https://stackoverflow.com/a/48680207/777285). –