【问题标题】:Pinax teams - given a user find all the teams for which the user is a memberPinax 团队 - 给定一个用户,找到该用户所属的所有团队
【发布时间】:2015-06-14 18:17:14
【问题描述】:

我正在使用 pinax-teams 对团队和成员资格进行建模。试图找出找到以下内容的最佳方法:

给定一个用户,获取他所属的所有团队。我目前有以下,效率太低了。任何帮助表示赞赏。这是 pinax-teams 的链接https://github.com/pinax/pinax-teams/blob/master/pinax/teams/models.py

    team_set = []
    user_name = self.request.QUERY_PARAMS.get('user_name', None)
    user = User()
    if user_name is not None:
        user = User.objects.get(username=user_name)

    for team in Team.objects.all():
        if team.for_user(user):
            team_set.append(team)
    return team_set

【问题讨论】:

    标签: django django-models pinax


    【解决方案1】:

    没有必要做任何如此复杂或低效的事情。您可以在单个查询中跟踪关系:

    teams = Team.objects.filter(memberships__user=user)
    

    【讨论】:

    • 太棒了。谢谢您的帮助。完美运行。
    猜你喜欢
    • 2015-03-15
    • 2019-11-13
    • 1970-01-01
    • 1970-01-01
    • 2019-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多