在many_to_many字段上过滤
问题描述:
新的django,这可能是一个简单/明显的问题,所以我提前道歉。在many_to_many字段上过滤
我有以下模型
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})
该视图的目的是仅列出那些当前登录的用户的项目是一个构件的。作为一个多对多的关系,每个团队中可以有很多成员。
任何意见如何实现这一点将不胜感激。
答
你没有描述Project
模型,但我想它有一个外国的Team
之一。因此,这里是我会怎么到:
Project.objects.filter(team__user=request.user).order_by('name')
上面我犯了一个小错误跨越
my_list = Team.objects.filter(members=request.user).order_by('name')
感谢您的帮助复制我的代码的答案
答
轻微的变化!
抱歉项目应该在视图代码中读取团队 - 现在已修复。这个答案仍然有效吗? – 2010-08-09 10:03:44