Django отправляет электронное письмо пользователю, когда определенное поле на модели изменено. - django


1

Я хочу отправить электронное письмо пользователю о смене модели. Вот что я имею: у меня есть модель, называемая пакетом, содержащим статус поля и владельца поля, я хочу отправить электронное письмо владельцу пакета при изменении статуса. Есть ли способ сделать это? Спасибо

Источник
  •  11
  •  2
  • 9 мар 2020 2020-03-09 13:28:15

2 ответа

1

Когда происходит событие изменения статуса, отправьте электронное письмо владельцу.

Документация: https://docs.djangoproject.com/en/1.11/topics/email/

Или, если вы предпочитаете встроенное уведомление: как использовать django-уведомление для информирования пользователя, когда кто-то комментирует их сообщение

  • 9 мар 2020 2020-03-09 13:28:16
2

Сигналы могут помочь вам.

Подумайте о методах сигналов как кодах, которые всегда выполняются до или после операции над моделью; например, сигнал pre_save() вызывается непосредственно перед записью записи в базу данных, post_delete() вызывается сразу после удаления записи из базы данных.

Внедрите сигнал pre_save() в модель и получите значение поля status из базы данных перед сохранением. Проверьте, отличается ли это предыдущее значение от значения для соответствующего поля состояния в update_fields. Если это так, напишите пользователю.

Вот документы для pre_save() и сигналов.

Вот учебник, который я прочитал, изучая Сигналы: Как создать Django Signals - SimpleIsBetterThanComplex.

Надеюсь это поможет :)