Мне нужно отправить электронное письмо, когда появится новый экземпляр Entry
создается через панель администратора. Итак, в models.py
у меня есть:
class Entry(models.Model):
attachments = models.ManyToManyField(to=Attachment, blank=True)
#some other fields
#...
sent = models.BooleanField(editable=False, default=False)
Затем я регистрирую функцию обработчика post_save:
def send_message(sender, instance, **kwargs):
if not instance.sent:
#sending an e-mail message containing details about related attachments
#...
instance.sent = True
instance.save()
post_save.connect(send_message, sender=Entry)
Она работает, но, как я уже упоминал, мне также нужно доступ к связанным вложениям, чтобы включить их подробности в сообщение. К сожалению, instance.attachments.
Вопрос: могу ли я сделать это с помощью сигналов или каким-либо другим способом, или мне нужно разместить этот код отправки электронной почты за пределами, например, переопределить представление изменения панели администратора для модели
Entry
?