Django身份验证:当前用户从外键查询

时间:2013-12-19 18:40:08

标签: python django authentication models

我正试图通过当前用户过滤下面的模型,但我似乎无法做到正确。我认为这是一个简单的解决方案,但我尝试的一切都失败了。这不是我的AUTH_PROFILE_MODULE。我只想让当前登录的用户能够过滤掉他们所有的首选组织。

class UserOrgConnections(models.Model):
    user = models.ForeignKey(User)
    orgs = models.ManyToManyField(Organizations)

1 个答案:

答案 0 :(得分:0)

您希望按当前用户过滤UserOrgConnections模型,然后访问orgs值。

在您的视图中,您可以通过请求变量访问当前用户,如下所示:request.user

以下是获取已登录用户的所有orgs值的最简单方法:

user = request.user
userorgs = UserOrgConnections.objects.filter(user = user)
# at this point, you have all instances of UserOrgConnections
# for which the current user is the user value

print userorgs.values('orgs')       # as ValuesQuerySet
print [x.orgs for x in userorgs]    # as Python list

如果您需要澄清其中的任何内容,或者如果我误解了您正在尝试做的事情,请在评论中告诉我。