繁体   English   中英

Django QuerySet 选择相关对象

[英]Django QuerySet select related objects

我四处寻找,但没有找到像我这样的情况。 假设使用 Django 的 User Profile 方法来扩展默认用户功能,多对象查询集将如何映射相关对象的查询集。

例如(在模型中):

class UserProfile(models.Model):
     user = models.OneToOneField(User, on_delete=models.CASCADE)

     friends = models.ManyToManyField("self", symmetrical=True, blank=True)

在视图内部:

class Friends(generics.ListAPIView):

    queryset=User.objects.all()
    serializer_class = UserSerializer

    def get_queryset(self):
        user = self.request.user
        profile = user.userprofile
        profiles = profile.friends.all()
        return profiles  #We want this to be a queryset of users

我尝试了以下方法,但这仅适用于profiles大小为 1 的情况。

return User.objects.filter(userprofile=profiles)
 return User.objects.filter(userprofile__in=profiles)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM