2013-04-24 54 views
1

我有三个型号项目,会员,用户如何获取查询集的外键对象?

class Project 
    members = ManyToManyField(User, through="Member") 

class User 
    #...user model... 

class Member 
    project = ForeignKey(Project) 
    user = ForeignKey(User) 
    isAdmin = BooleanField(default=False) 

如果我想获得一个项目(P)的所有用户对象,我可以做p.members。但是,我怎样才能轻松获得项目的所有管理员(用户对象)?

Member.filter(project=p, isAdmin=True) # this gets all the admin member objects 
# how to convert this to user objects? 

回答

0
User.objects.filter(member__isAdmin=True, member__project=p) 

Django文档 - Lookups that span relationships

+0

请更正它也是由项目p滤镜,然后我会检查你的答案。谢谢。 – Derek 2013-04-24 20:41:11