2017-07-24 156 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