Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从列表或集合中设置django查询_Python_Django_Django Queryset_Django Orm - Fatal编程技术网

Python 从列表或集合中设置django查询

Python 从列表或集合中设置django查询,python,django,django-queryset,django-orm,Python,Django,Django Queryset,Django Orm,我有一个列表,可以是一组或另一个iterable,比如电子邮件字符串,我想得到一个模型的所有对象,这些对象的属性“email”与这些电子邮件中的任何一个匹配 我正在做: from myapp.models import MyModel l=['email1@x.com', 'email2@x.com', 'email3@y.com'] from django.db.models import Q q = Q(email=l[0]) for e in l[1:]: q |= Q(emai

我有一个列表,可以是一组或另一个iterable,比如电子邮件字符串,我想得到一个模型的所有对象,这些对象的属性“email”与这些电子邮件中的任何一个匹配

我正在做:

from myapp.models import MyModel
l=['email1@x.com', 'email2@x.com', 'email3@y.com']
from django.db.models import Q

q = Q(email=l[0])
for e in l[1:]:
    q |= Q(email=e)
MyModel.objects.get(q)
有没有更优雅的方法?

您可以使用:

MyModel.objects.filter(email__in=l)

另请参见此问题的公认答案:@Ber Yep在前面的问题中搜索时未找到它