Back to questions
Junior — Middle
63
Можете объяснить роль и работу метода pre_save в Django?
Companies where asked
Оптимакрос
Answer from AI
sobes.tech AI
В Django нет встроенного метода с названием pre_save, но есть сигнал pre_save, который вызывается непосредственно перед сохранением объекта модели в базу данных. Этот сигнал позволяет выполнить дополнительную логику или валидацию до того, как данные будут записаны.
Пример использования сигнала pre_save:
from django.db.models.signals import pre_save
from django.dispatch import receiver
from myapp.models import MyModel
@receiver(pre_save, sender=MyModel)
def mymodel_pre_save(sender, instance, **kwargs):
# Например, автоматически обновить поле перед сохранением
instance.updated_at = timezone.now()
Таким образом, pre_save помогает контролировать процесс сохранения и модифицировать объект перед записью в базу.