Django 如何筛选查询集

Django 如何筛选查询集,django,Django,我想过滤通过过滤一次获得的查询集,但我不知道如何过滤 目前,我们正在从下面获取数据。 我想在这个条件下分别从表中获取数据 . 我只是不知道怎么做 #查看 context\u data=super(成员,自身)。获取上下文数据(**kwargs) 组=归属.objects.get(用户=self.request.user).group 归属\查询集=归属.对象.过滤器(组=组) #我想将查询集应用于配置文件过滤器。 #profile\u queryset=profile.objects.filte

我想过滤通过过滤一次获得的查询集,但我不知道如何过滤

目前,我们正在从下面获取数据。 我想在这个条件下分别从表中获取数据 . 我只是不知道怎么做

#查看
context\u data=super(成员,自身)。获取上下文数据(**kwargs)
组=归属.objects.get(用户=self.request.user).group
归属\查询集=归属.对象.过滤器(组=组)
#我想将查询集应用于配置文件过滤器。
#profile\u queryset=profile.objects.filter(归属\u queryset)
添加模型

#模型
类配置文件(models.Model):
user=models.OneToOneField(settings.AUTH\u user\u MODEL,on\u delete=models.CASCADE,)
first_name=models.CharField(u('first name'),max_length=30,blank=True)
last_name=models.CharField(u('last name'),max_length=150,blank=True)
类归属(models.Model):
user=models.ForeignKey(用户,on\u delete=models.CASCADE,相关的\u name='user\u profile')
组=models.ForeignKey(组,on_delete=models.CASCADE)
批准=模型.整数字段(默认值=0)

很抱歉,英文和解释都很糟糕。

您可以使用两个连续的下划线(
\uuuu
)来查看关系:

context_data = super(members,self).get_context_data(**kwargs)
profile_queryset = profile.objects.filter(
    user__user_profile__group__belong__user=self.request.user
)
# ...

你能分享一下你的相关模型吗(
profile
alley
)?请告诉我你是否有其他必要的部分。这似乎很好。但因为级别很高,我会调查并解密!非常感谢。谢谢你的解释。我总算明白了!你能告诉我如果我想申请approval=1会发生什么吗?
approval
在第一个属于、第二个属于或两者都属于中?这是第一个批准!谢谢你的补充。那真是帮了大忙!
       related belong   belongs of group
       _____^____           __^_
      /          \         /    \  
user__user_profile__group__belong__user
\_ /                \_ _/          \ _/
  v                   v             v
user of profile   group of belong  user of belong
context_data = super(members,self).get_context_data(**kwargs)
profile_queryset = profile.objects.filter(
    user__user_profile__group__belong__user=self.request.user,
    user__user_profile__approval=1,
    user__user_profile__group__belong__approval=1
)
# ...