在 django 中,我如何过滤或排除多个东西?
Posted
技术标签:
【中文标题】在 django 中,我如何过滤或排除多个东西?【英文标题】:In django, how can I filter or exclude multiple things? 【发布时间】:2015-03-18 03:03:54 【问题描述】:如果我有这个查询集:
player = basketball.objects.all()
如何在我要求多人时进行过滤?例如:我只希望名字是“mike”或“charles”的玩家出现。这似乎对我不起作用:
player.filter(name = 'mike' , 'charles')
有谁知道解决这个问题的最佳方法?
【问题讨论】:
【参考方案1】:你可以使用__in
:
player.filter(name__in=['mike', 'charles'])
【讨论】:
【参考方案2】:除了使用__in
,您还可以使用Q
object 链接多个过滤器,因此objects.filter(q)
其中q = Q(Q(name="mike")|Q(name="phil"))
。
在这种情况下一定要使用__in
。
【讨论】:
以上是关于在 django 中,我如何过滤或排除多个东西?的主要内容,如果未能解决你的问题,请参考以下文章
Django REST Framework 中的否定或排除过滤器
如何从我的带注释的 Django 查询中过滤/排除非活动评论?
如何将三个或多个参数传递给自定义模板标签过滤器 django?