Встречается на собеседованиях • сегодня

Что такое post_save в Django

post_save — это сигнал в Django, который срабатывает после сохранения модели в базу данных. Он позволяет выполнять дополнительные действия (например, логирование, обновление связанных моделей) без изменения самого метода save() модели.

Пример использования:

python
from django.db.models.signals import post_save
from django.dispatch import receiver
from myapp.models import MyModel

@receiver(post_save, sender=MyModel)
def my_handler(sender, instance, created, **kwargs):
if created:
print(f"Создан новый объект: {instance}")
else:
print(f"Обновлен объект: {instance}")

text

**Ключевые параметры:**
- `sender` — класс модели, для которой сработал сигнал
- `instance` — сохраненный экземпляр модели
- `created` — булево значение (`True` если объект только что создан)
- `**kwargs` — дополнительные аргументы

Сигналы `post_save` часто используют для:
- Создания связанных объектов
- Отправки уведомлений
- Инвалидации кэша
- Синхронизации данных с внешними сервисами

Важно помнить о потенциальных рекурсиях при изменении объекта в обработчике сигнала.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы