2014-12-02 49 views
0

我设置了Django的检索算法领域,如何设置Django管理员搜索字段?

search_fields = ('publisher_number',) 

publisher_number是IntegerField, 让我们说,我有publisher_number的:

1,5,10,13,18,20,25

当我输入django管理员搜索字段编号1 我将得到publisher_number的对象:1,10,13,18

所有包含数字1的,

当我键入1我想用publisher_number正好对象:1不是10,13,18和类似

Attribut publisher_number不是唯一的。

我如何覆盖django搜索字段方法来搜索精确的类型sting,不包含字符串?

回答

2

您可以通过覆盖(自1.6)

ModelAdmin.get_search_results(request, queryset, search_term) 

https://docs.djangoproject.com/en/1.6/ref/contrib/admin/#django.contrib.admin.ModelAdmin.get_search_results

在那里,你做

.filter(publisher_number=search_term_as_int) 

,让你只publisher_number 1,而不是10或等自定义此bevaviour 。

+0

这不是我想要的,我不想找到对象的方法,我想覆盖django管理搜索字段,因为我说我有search_fields =('publisher_number' ,)。当我输入url – blaz1988 2014-12-03 21:40:58

+0

/admin/mydatabase/naruceniprodukti /?q = 1我将获得所有包含number 1的publisher_number的对象作为1,10,15,100,我只想获取对象与发布商号码1,当我去to/admin/mydatabase/naruceniprodukti /?q = 1 – blaz1988 2014-12-03 21:42:37

+0

@ user3578448这是唯一可以实现你想要的问题的方法 – doniyor 2014-12-04 00:08:51

1

search_fields =('= publisher_number',) 通过这样写你可以解决你的问题

相关问题