Django DRF get_queryset检查是否在多个字段中

Django DRF get_queryset检查是否在多个字段中,django,django-rest-framework,Django,Django Rest Framework,我有一个这样的模型: 类项目(models.Model): name=models.CharField(“name”,最大长度=8,unique=True) status=models.CharField( “地位”, 最大长度=1, 选项=[(“O”、“打开”)、(“C”、“关闭”)], default=“O”, ) description=models.CharField(“description”,最大长度=3000,默认值=”) 所有者=models.ForeignKey( 用户,on_

我有一个这样的模型:

类项目(models.Model):
name=models.CharField(“name”,最大长度=8,unique=True)
status=models.CharField(
“地位”,
最大长度=1,
选项=[(“O”、“打开”)、(“C”、“关闭”)],
default=“O”,
)
description=models.CharField(“description”,最大长度=3000,默认值=”)
所有者=models.ForeignKey(
用户,on_delete=models.SET_NULL,NULL=True,related_name=“project\u owner”
)
参与者=模型.ManyToManyField(用户,相关的\u name=“项目参与者”,blank=True)
已创建\u at=models.DateTimeField(自动\u now\u add=True)
现在在这个模型的视图集中,我有一个
get\u queryset
方法:

def get_queryset(self):
如果self.request.user.is_superuser:
返回Project.objects.all()
其他:
返回Project.objects.filter(所有者=self.request.user.id)
因此,当我得到一个项目或项目s时,我只搜索用户(在JWT中隐藏在请求中)拥有的项目。但现在我考虑搜索用户参与的项目(因此用户出现在
参与者
字段列表中)


get\u queryset
中如何执行此操作?

应该可以使用
Q

Project.objects.filter(
    Q(owner=self.request.user.id) | 
    Q(participants=self.request.user.id)
)

看来情况就是这样,谢谢!