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

Что такое pre_save в Django

pre_save — это сигнал в Django, который отправляется перед сохранением модели в базу данных. Он позволяет выполнять дополнительные действия или валидацию перед сохранением объекта.

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

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

@receiver(pre_save, sender=MyModel)
def my_handler(sender, instance, **kwargs):
if not instance.slug:
instance.slug = slugify(instance.title)

text

Ключевые моменты:
- Срабатывает перед вызовом `save()`
- Принимает `sender` (класс модели) и `instance` (конкретный объект)
- Полезен для автоматического заполнения полей, предварительной валидации
- Не изменяет процесс сохранения, если не возникает исключение

Важно: сигналы нужно зарегистрировать, обычно это делают в `ready()` методе конфига приложения.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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