2014-12-02 2 views
0

настроить Django SERACH поле,Как настроить поле поиска admin в Django?

search_fields = ('publisher_number',) 

publisher_number является IntegerField, давайте говорить, что у меня есть publisher_number-х:

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

Когда Я набираю поле поиска admin django № 1 Я получу объект с publisher_number: 1, 10, 13, 18

все, что содержит номер 1,

Когда я типа 1 Я хочу, чтобы получить именно объект с publisher_number: 1 не 10, 13,18 и аналогичные

Attribut publisher_number не является уникальным.

Как я могу переопределить метод поиска в режиме django для поиска строго типизированного sting, не содержащего строку?

ответ

2

Вы можете настроить этот bevaviour путем переопределения (с 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 или т.п. .

+0

Это не то, что я хочу, я не хочу, чтобы метод находил объект, я хочу переопределить поле поиска admin django, так как я сказал, что у меня есть search_fields = ('publisher_number' ,). когда я набираю url – blaz1988

+0

/admin/mydatabase/naruceniprodukti /? q = 1 Я получу все объекты с publisher_number, которые содержат номер 1 как 1, 10, 15, 100, я хочу получить только объект с номером издателя 1, когда я иду to/admin/mydatabase/naruceniprodukti /? q = 1 – blaz1988

+0

@ user3578448 это только вы можете добиться того, чего хотите в своем вопросе – doniyor

1

search_fields = ('= publisher_number',) , написав вот так, вы можете решить вашу проблему

Смежные вопросы