Встречается на собеседованиях • сегодня
Зачем нужен on_commit в Django
on_commit в Django используется для выполнения действий только после успешного завершения транзакции. Это полезно, когда нужно, например, отправить email или выполнить фоновую задачу после сохранения данных в БД. Без него такие действия могут выполниться до фиксации транзакции, что приведёт к неожиданным ошибкам.
Пример:
python
from django.db import transaction
def create_user(request):
user = User.objects.create(username='test')
transaction.on_commit(lambda: send_welcome_email(user.id))
# email отправится только если транзакция успешно завершитсяКлючевые моменты:
- Действия выполняются только после успешного commit
- Если транзакция откатывается (rollback), обработчики не вызываются
- Можно использовать как декоратор или вызывать напрямую
- Особенно полезно при работе с celery-тасками или внешними API

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы