我有一个模型,其中一个字段与具有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
我认为这是查看该字段的方法,我知道这是错误的,但是......我怎么能实现这个目标呢?
答案 0 :(得分:2)
如果您的文章类有一个用户字段,那么您需要这样做以获取相关用户的电子邮件:
articles.user.email