开发者

Django - filter ManyToManyField?

I'm not sure the best way to describe what it is that I'm trying to do so forgive my title.

I have two models, User and Group. Group contains field, members, which is a ManyToManyField referring to User.

Given a User, I want to find all of the Groups to which that user belongs.

My idea would be to do something like this:

groups = Group.objects.filter(user in members)

Something like that. Even though I realize that this isn't right

I tried reading through this link but couldn't figure out how to apply: http://docs.djangoproject.com/en/dev/topics/db/queries/#spanning-multi-valued-relationships

Thanks

EDIT:

F开发者_如何转开发igured it out groups = Group.objects.filter(members__username=user.username)


If you have the user and you want to have his groups then start querying from it, not the way around ;)

Here's an example:

james = User.objects.get(pk= 123)
james_groups = james.group_set.all()


The most concise way is probably

groups = user1.group_set.all()

which gives you a queryset that is iterable.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜