我想使用过滤器函数查询带有Django的集合。问题是我想传递给定列的可能值列表。
我知道我可以做到以下几点:
User.objects.filter(Q(username='whatever') | Q(username='whatever2') | (username='whatever3') | ..... )
但问题是我有一个可能的用户名列表。
到目前为止我所拥有的是:
users = []
for username in usernames:
users.extend(User.objects.filter(username=username))
是否有更有效的方法来执行此操作(进行一次数据库查询而不是多次查询)?
答案 0 :(得分:2)
您可以使用:
users = User.objects.filter(username__in=usernames)
请参阅https://docs.djangoproject.com/en/dev/ref/models/querysets/#in