【问题标题】:In django, how can I filter or exclude multiple things?在 django 中,我如何过滤或排除多个东西?
【发布时间】:2015-03-18 03:03:54
【问题描述】:
如果我有这个查询集:
player = basketball.objects.all()
如何在我要求多人时进行过滤?例如:我只希望名字是“mike”或“charles”的玩家出现。这似乎对我不起作用:
player.filter(name = 'mike' , 'charles')
有谁知道解决这个问题的最佳方法?
【问题讨论】:
标签:
python
django
django-queryset
django-orm
【解决方案1】:
你可以使用__in:
player.filter(name__in=['mike', 'charles'])
【解决方案2】:
除了使用__in,您还可以使用Q object 链接多个过滤器,因此objects.filter(q) 其中q = Q(Q(name="mike")|Q(name="phil"))。
在这种情况下一定要使用__in。