Получение ссылки на последнюю статью в моделях - PullRequest
1 голос
/ 26 мая 2020

У меня есть пост-сигнал в моих моделях, так что когда я создаю новый пост через администратора, он отправляет письмо. Это работает, но я хочу, чтобы в сообщении была ссылка на только что созданную мной статью. Как я могу это сделать?

def send_mails(sender, **kwargs):
    if kwargs['created']:
        message = 'Hello!\nWe have a new post: mysite.net/{latest article id}\nEnjoy!\n\nKind regards,\nThe Analyst'
        subject = 'New Article Published!'
        to = Email.objects.values_list('email', flat=True).distinct()
        from_email = settings.EMAIL_HOST_USER
        send_mail(subject, message, from_email, to, fail_silently=True)


post_save.connect(send_mails, sender=Post)

1 Ответ

0 голосов
/ 26 мая 2020

Экземпляр, который был сохранен, передается как instance параметр:

def send_mails(sender, <b>instance, created</b>, **kwargs):
    if created:
        message = <b>f</b>'Hello!\nWe have a new post: mysite.net/<b>{instance.id}</b>\nEnjoy!\n\nKind regards,\nThe Analyst'
        subject = 'New Article Published!'
        to = Email.objects.values_list('email', flat=True).distinct()
        from_email = settings.EMAIL_HOST_USER
        send_mail(subject, message, from_email, to, fail_silently=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...