过滤many_to_many字段

时间:2010-08-09 09:40:31

标签: django django-views

django的新手,这可能是一个简单/明显的问题,所以我提前道歉。

我有以下型号

class Team(models.Model):
    name = models.CharField(max_length=100)
    members = models.ManyToManyField(User, related_name="members", blank=True, null=True)

以下视图(控制器)

def my_teams(request):
    my_list = Team.objects.filter(???????).order_by('name')
    return render_to_response('teams/index.html', {'my_list': my_list})

此视图的目标是仅列出当前登录用户所属的项目。作为一个多对多的关系,每个团队中可以有很多成员。

非常感谢任何关于如何实现这一目标的建议。

2 个答案:

答案 0 :(得分:0)

您没有描述Project模型,但我猜它对Team模型有异议。所以这就是我的意思:

Project.objects.filter(team__user=request.user).order_by('name')

答案 1 :(得分:0)

上面的答案略有不同,因为我在

中复制代码时出现了轻微的错误
my_list = Team.objects.filter(members=request.user).order_by('name')

感谢您的帮助!