Django:从过滤器中获取联接数据

时间:2014-03-05 18:51:58

标签: django django-models

我有以下,表/类:

 Class UserFriend(model.Model):
      user = models.ForeignKey(User, related_name='friend_users' )
      friend = models.ForeignKey(User, related_name='friend_friends')

其中User是内置的auth_user类,我想只获取朋友,而不是userfriends对象。

我正在做以下事情:

 friends = user.friend_users.filter(hide=False).order_by('friend__first_name')

如何从中获取朋友项目,而不是用户朋友。我唯一能想到的是使用for循环,但有更简单的方法吗?

1 个答案:

答案 0 :(得分:0)

friends = User.objects.filter(friend_friends__user=user, 
                              friend_friends__hide=False)

也就是说,您希望找到朋友指向其中的UserFriend条目的所有用户,并且用户指向user