我的UserProfile模型中的User相关字段有问题。
我在UserProfile模型中有这个字段:
friends = models.ManyToManyField(User, null=True)
当我打电话
User.objects.get(pk=234).get_profile().friends.all()
我将这组朋友作为用户对象
当我打电话
User.objects.get(pk=234).friends_set.all()
我得到了一个UserProfile对象列表。
是否有办法(不改变与UserProfile对象的关系)将关系的每一方都返回为User或UserProfile?
编辑:
很抱歉我发现了我想要做的事情:
user = User.objects.get(pk=234)
User.objects.filter(userprofile__friends=user).all()
答案 0 :(得分:1)
我相信这是选择与给定用户成为朋友的UserProfile
个对象的方式:
UserProfile.objects.filter(friends__user = 234)
以下是同一组用户的User
个对象:
User.objects.filter(userprofile__friends__user = 234)
答案 1 :(得分:1)
不仅有一种关系,所以只有你正在考虑的双方。用户与配置文件对象(FK)具有关系,而另一个用户具有许多用户对象(M2M)。