Python 如何使用过滤器从列表中生成查询?

Python 如何使用过滤器从列表中生成查询?,python,django,orm,Python,Django,Orm,假设在某个数据库中,我有人具有以下属性: 名字 年龄 如果我想得到所有被称为Stuart或Steve的人,我可以使用Q对象: qs = People.objects.filter(Q(name='Stuart') | Q(name='Steve')) 但是,如果我收到n个名字的列表呢?例子: ['Bob','John','Rachel','一些我不知道的其他名字'…] 如何使用列表上的这n个未知姓名创建查询?一种方法是qs=People.objects.filter(name_uin=['

假设在某个数据库中,我有具有以下属性:

  • 名字
  • 年龄
如果我想得到所有被称为StuartSteve的人,我可以使用Q对象:

qs = People.objects.filter(Q(name='Stuart') | Q(name='Steve'))
但是,如果我收到n个名字的列表呢?例子:
['Bob','John','Rachel','一些我不知道的其他名字'…]


如何使用列表上的这n个未知姓名创建查询?一种方法是
qs=People.objects.filter(name_uin=['list of names'])
,可能还有另一种有效的方法,我不太确定。

一种方法是
qs=People.objects.filter(name_uin=['list of names'])
,可能还有另一种有效的方法,我不太确定。

简单的解决方案是使用standart过滤器

name\u list=['Bob','John','Rachel']

qs=People.objects.filter(name\u in=name\u list)
简单的解决方案是使用标准过滤器

name\u list=['Bob','John','Rachel']
qs=People.objects.filter(name\u in=name\u list)
name_list = ['Bob', 'John', 'Rachel']
qs = People.objects.filter(name__in=name_list)