我是Django的新手。 我已经制作了一个新的应用程序来向订阅它的人发送邮件。因此,我已经定义了一个扩展用户模型的模型。
class UserProfile(models.Model):
user = models.OneToOneField(User)
contact_number = models.CharField(max_length=10,null=True)
address = models.CharField(max_length=200,null=True,blank=True)
subscribe_to_newsletter = models.BooleanField(default=False)
如何访问订阅了简报的用户的电子邮件?我找不到过滤用户并关联User
和UserProfile
的方法。
答案 0 :(得分:0)
在django中,您可以filter across relationships使用__
。
这将为您提供订阅时事通讯的所有用户:
User.objects.filter(userprofile__subscribe_to_newsletter=True)
如果您只想要使用values_list
的电子邮件。这将为您提供电子邮件列表:
User.objects.filter(userprofile__subscribe_to_newsletter=True).values_list('email', flat=True)