我正在尝试为特定模型配置Django管理绑定,以便我可以快速过滤特定字段的确切值。我知道我可以手动篡改GET参数来执行此操作:
?fieldname__exact=foobar
我似乎无法做到,是让侧边栏显示一个小表单,我可以在其中输入此值。我知道我可以将fieldname
添加到list_filter
,但这不会超出数十个唯一值。我稍微研究了django-advanced-filters,但它似乎与Django 1.11不兼容。
如何在Django管理员中实现对特定字段的精确搜索?
答案 0 :(得分:15)
有点晚了,但我希望它仍能帮助某人
搜索字段的可能配置列在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
中找到信息