使用查找字段获取用户的电子邮件字段

Get the email field of an user with Lookup Fields

我有一个模型,该模型的字段与具有 ForeignKey 的用户关联,我需要在用户执行操作时向该用户发送电子邮件,我的问题不是发送电子邮件,而是如何获取该电子邮件电子邮件。应用程序是这样工作的:用户从众多选项中选择一个(单击按钮),该按钮通过 DetailView 调用包含 user_id 的模型的 ID,并在单击该按钮时发送电子邮件。我的看法:

class NotificationEmail(DetailView):
    model = Articles
    template_name = 'email.html'

    def dispatch(self, request, *args, **kwargs):
        p = Articles.objects.filter(pk=self.kwargs['pk'])
        for articles in p:
            print (articles.user_id__email)     
            to = articles.user_id__email
            html_content = '<p>This is your email content...</p>'
            msg = EmailMultiAlternatives('You have an email',html_content,'from@server.com',[to])
            msg.attach_alternative(html_content,'text/html')
            msg.send()
            return super(NotificationEmail, self).dispatch(request, *args, **kwargs)    

型号:

class Articles(models.Model):
    name = models.CharField(max_length=100)
    user = models.ForeignKey(User)

我的问题基本上是如何获得具有该型号 ID 的用户的电子邮件?我正在尝试 articles.user_id__email 我想这是查找字段的方式,我知道那是错误的,但是..我怎样才能做到这一点?

如果您的文章 class 有一个用户字段,那么您需要执行此操作以获取关联用户的电子邮件:

articles.user.email