12

我正在尝试为特定模型配置 Django 管理绑定,以便我可以通过特定字段的确切值快速过滤。我知道我可以手动篡改 GET 参数来执行此操作:

?fieldname__exact=foobar

我似乎无法做的是让侧边栏显示一个小表单,我可以在其中输入此值。我知道我可以添加fieldnamelist_filter,但这并不能很好地扩展到数十个独特的值之外。我研究了一下 django-advanced-filters,但它似乎与 Django 1.11 不兼容。

如何在 Django 管理员中实现对特定字段的精确搜索?

4

1 回答 1

26

有点晚了,但我希望它仍然可以帮助某人

搜索字段的可能配置在 http://www.django-rest-framework.org/api-guide/filtering/#searchfilter列出。

'^' Starts-with search.
'=' Exact matches. (case-insensitive)
'@' Full-text search. (Currently only supported Django's MySQL backend.)
'$' Regex search. (Only with Django Rest Framework)

在您的情况下,只需添加

search_fields = ['=fieldname', 'otherfieldname']

给您的管理员。

更新:从 Django 2.1 开始,还可以向搜索字段添加查找(例如,'fieldname__exact')。您可以在Django Docs中找到信息,以及可能的Lookups

于 2017-09-21T09:07:38.320 回答