Какие знаешь сигналы в Django
Python
Middle
Без компании
Какие знаешь сигналы в Django
Ответы
В Django сигналы позволяют выполнять действия при возникновении определенных событий в приложении. Основные встроенные сигналы:
- **Модельные сигналы** (из `django.db.models.signals`):
- `pre_save` / `post_save` - до/после сохранения модели
- `pre_delete` / `post_delete` - до/после удаления
- `m2m_changed` - при изменении ManyToManyField
- **Запрос/ответ** (из `django.core.signals`):
- `request_started` / `request_finished` - начало/конец обработки запроса
- `got_request_exception` - при исключении во view
- **Сигналы миграций** (из `django.db.models.signals`):
- `pre_migrate` / `post_migrate` - до/после выполнения миграций
Пример использования:
```
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}")
```