来自列表或集的django queryset

时间:2012-11-08 21:02:33

标签: python django django-queryset django-orm

我有电子邮件字符串的列表(可能是一组或另一个可迭代的),我想让所有模型的对象具有与这些电子邮件相匹配的属性“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)

有没有办法更优雅地做到这一点?

1 个答案:

答案 0 :(得分:4)

你可以使用:

MyModel.objects.filter(email__in=l)