Встречается на 1% собеседований по Python
Зачем нужен 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
интервью вопросы и ответы