在django中,如何过滤或排除多个内容?

时间:2015-01-20 00:37:23

标签: python django django-queryset django-orm

如果我有这个查询集:

player = basketball.objects.all()

如何在我要求多人的情况下进行过滤?例如:我只希望出现名字为“mike”或“charles”的玩家。这对我来说似乎不起作用:

player.filter(name = 'mike' , 'charles')

有谁知道最好的方法吗?

2 个答案:

答案 0 :(得分:8)

您可以使用__in

player.filter(name__in=['mike', 'charles'])

答案 1 :(得分:5)

除了使用__in之外,您还可以使用Q object链接多个过滤器,因此objects.filter(q)位于q = Q(Q(name="mike")|Q(name="phil"))

但在这种情况下肯定会使用__in