-1

我有一个列表(可以是一组或另一个可迭代的),比如说,电子邮件字符串,我想获取所有模型的对象,这些对象具有与这些电子邮件中的任何一个匹配的属性“电子邮件”。

我在做:

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)

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

4

1 回答 1

4

您可以使用:

MyModel.objects.filter(email__in=l)
于 2012-11-08T21:05:47.070 回答