Как продлить django admin select? - PullRequest
1 голос
/ 25 мая 2009

Django создает окно поиска на странице отображения списка, когда поле "search_fields" включено в ModelAdmin.

Некоторые из моих встроенных моделей ссылаются на элементы на странице списка. Если термины окна поиска соответствуют полям в этих встроенных моделях, я хотел бы, чтобы результаты включали ссылки в список.

Пример: База данных имеет таблицу имен и таблицу адресов. Для каждого имени может быть несколько адресов. Каждый адрес ссылается на имя. Когда я ищу в списке имен, я хотел бы иметь возможность ввести «Главная улица», искать адреса и отображать имена, на которые ссылаются эти адреса.

Я думаю, мне придется переопределить функцию поиска, связанную с окном поиска. Если это правильно, где находится эта функция?

1 Ответ

3 голосов
/ 25 мая 2009

Я не уверен на сто процентов, что понимаю ваш вопрос, но вы можете выполнить поиск по связанным полям в списке отображения, установив search_fields в классе администратора:

class MyAdmin(admin.ModelAdmin):
    search_fields = ('name', 'name__address')

При этом используется тот же синтаксис двойного подчеркивания в отношениях, что и при обычном вызове filter ().

...