【问题标题】:Filter User model using custom model使用自定义模型过滤用户模型
【发布时间】:2016-03-10 15:08:51
【问题描述】:

我是 Django 新手。 我制作了一个newletter 应用程序来向订阅它的人发送邮件。因此,我定义了一个扩展用户模型的模型。

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)

我如何访问订阅了时事通讯的用户的电子邮件?我找不到过滤用户和关联UserUserProfile 的方法。

【问题讨论】:

  • 你无法关联哪两个模型?
  • 我试图过滤用户模型和我定义的 UserProfile 模型以扩展用户模型。

标签: django django-models django-queryset


【解决方案1】:

在 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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-21
    • 1970-01-01
    • 2017-08-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多