Django管理网址查询字符串“ OR”。可能吗?

Dus*_*ris 5 django admin query-string

我喜欢能够直接在Django管理员的URL中编写快速且肮脏的查询字符串。喜欢:/admin/myapp/mymodel/?pub_date__year=2011

AND语句同样简单: /admin/myapp/mymodel/?pub_date__year=2011&author=Jim

我想知道是否可以通过URL发出“或”语句。有人听说过这种功能吗?

Fur*_*tor 5

& 不是一个逻辑 AND,尽管它在你的情况下似乎是这样的。我非常确定没有办法在 GET 查询字符串中创建逻辑 OR。


Mik*_*bov 5

Django <1.4不支持OR查询。有时可以将OR查询转换为__in-受支持的查询(它们等效于OR查询,但仅适用于单个字段值)。

您还可以升级到django开发版本:它具有更通用的list_filter实现(请参阅https://docs.djangoproject.com/en/dev//ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_filter),其中可用于提供高级管理过滤器(包括OR查询)。

  • 可能对单个字段进行OR查询:URL中的color_in = red,blue等于Q(color = red)Q(color ='blue')`。对于更复杂的查询,需要高级管理员黑客或django 1.4。 (3认同)