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

use*_*832 4 python django django-orm django-queryset

如果我有这个查询集:

player = basketball.objects.all()
Run Code Online (Sandbox Code Playgroud)

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

player.filter(name = 'mike' , 'charles')
Run Code Online (Sandbox Code Playgroud)

有谁知道最好的方法吗?

ale*_*cxe 8

你可以使用__in:

player.filter(name__in=['mike', 'charles'])
Run Code Online (Sandbox Code Playgroud)


Tan*_*ash 5

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

绝对__in在这种情况下使用.