В Django-admin, как добавить фильтр или искать поле выбора внешнего ключа?

Я получил foreign key модель с датой около 100000.

Слишком сложно выбрать нужные данные. Поэтому мне интересно, есть ли гуманизированный способ добавить foreign key в админке django

Я попробовал raw_id_fields, это бесполезно.

это не работает

2 ответа

Решение

Select2 очень удобно иметь дело с такой ситуацией. Вы можете проверить пакеты для интеграции Select2 с Django.

django-select2 и django-easy-select2 оба являются хорошим вариантом для рассмотрения.

Если у тебя есть raw_id_fields установить на вашем исходном классе администратора, вы можете установить search_fields на целевой модели администратора, чтобы иметь возможность фильтровать результат на основе набора search_fields, т.е. вы получите поле ввода поиска во всплывающем списке выбора, см. изображение ниже.

В качестве альтернативы, django-2.0 только что объединил запрос на получение, предоставляющий поддержку для использования виджетов select2 в администраторе django, см. Запрос на выборку для получения полного списка поддерживаемых полей: https://github.com/django/django/pull/6385

С этим вы можете использовать autocomplete_fields на foreignkey поле вашего исходного класса администратора и, как и раньше, установите search_fields на целевой класс администратора.

Другие вопросы по тегам