2017-07-24 92 views
3

我正在尝试为特定模型配置Django管理员绑定,以便我可以快速过滤特定字段的确切值。我知道我可以用GET参数做这个手工篡改:Django admin中的精确字段搜索

?fieldname__exact=foobar 

我似乎什么不能做的,就是让边栏显示一个小的形式,我可以输入该值。我知道我可以添加fieldnamelist_filter,但这并不能超过几十个独特的值。我看了一下Django高级过滤器,但它似乎与Django 1.11不兼容。

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

回答

4

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

为searchfield可能的配置在http://www.django-rest-framework.org/api-guide/filtering/#searchfilter上市。

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

在你的情况下,只需添加

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

您的管理。

+0

有趣的功能,但不幸的是,不允许单独的搜索框专门为一个领域,是吗? – Pieter

+0

不,它是每个领域相同的搜索字段。恐怕一个单独的字段只能使用HTML/Javascript。 – lilaLeon

+0

也记录在[Django文档](https://docs.djangoproject.com/en/1.11/ref/contrib/admin/#django.contrib.admin.ModelAdmin.search_fields) – Fush