在 Django 中,如何过滤或排除多项内容?

In django, how can I filter or exclude multiple things?

如果我有这个查询集:

player = basketball.objects.all()

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

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

有谁知道解决这个问题的最佳方法吗?

您可以使用 __in:

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

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

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