【发布时间】:2015-05-08 08:45:33
【问题描述】:
我想知道在这里做什么。 所以我有一个 EmailAddress 类,它与我的 User 类有 ForeignKey 关系
class EmailAddress(models.Model):
user = models.ForeignKey(allauth_app_settings.USER_MODEL, verbose_name=_('user'))
email = models.EmailField(unique=app_settings.UNIQUE_EMAIL,
verbose_name=_('e-mail address'))
我还有一个 UserProfile 类,它与提到的 User 具有 OneToOneField 关系,如下所示:
class UserProfile(models.Model):
user = models.OneToOneField(User, related_name='profile')
attribute= models.CharField("attr", max_length=150, blank=False)
现在在 admin.py 中,我想过滤用户,以便登录到 admintool 的当前用户只能看到来自共享某些属性的用户的电子邮件。问题是该属性保存在 UserProfile 中,我需要通过电子邮件到达那里。
基本上我不知道如何访问 UserProfile 中的“属性”。我了解我想通过查找该电子邮件所属的用户的电子邮件来过滤用户,然后将他的“属性”与发送请求的用户进行比较,以决定是否向他显示。
def get_queryset(self, request):
user = [User whos email is in the list]
qs = [the queryset]
[and then]
return qs.filter([filter so the user attribute = the request.user attribute])
顺便说一句,我正在使用 allauth。如果你想知道什么
allauth_app_settings.USER_Model
代表。
祝你有美好的一天!
【问题讨论】:
标签: django