Ответ 1
Вы можете использовать одно из немногих автозаполненных приложений для Django. Проверьте их на Django Packages.
Там также django-extensions, у которых ForeignKeyAutocompleteAdmin
, которые соответствуют вашим потребностям довольно хорошо.
По умолчанию Django admin отображает поля ForeignKey в admin как поле выбора, перечисляя каждую запись в внешней таблице в качестве опции. В одной доступной для администратора модели я ссылаюсь на модель User как на ForeignKey, и поскольку у меня есть тысячи пользователей, Django заполняет выбор тысячами опций. Это приводит к тому, что страница администратора загружается невероятно медленно, а выбор не очень полезен, поскольку для прокрутки тысяч параметров можно найти нужное вам время.
Какой лучший способ изменить рендеринг этого поля, чтобы улучшить загрузку страницы и удобство использования? Я бы хотел, чтобы поле выбора было заменено какой-то кнопкой, чтобы запустить всплывающее окно формы поиска или текстовое поле, которое ищет ключевые слова через Ajax, чтобы найти идентификатор для конкретного пользователя, которого они хотят связать. У администратора есть что-то вроде этого встроенного, или мне придется писать это с нуля?
Вы можете использовать одно из немногих автозаполненных приложений для Django. Проверьте их на Django Packages.
Там также django-extensions, у которых ForeignKeyAutocompleteAdmin
, которые соответствуют вашим потребностям довольно хорошо.
Добавьте raw_id_fields
к своей модели, чтобы показывать только идентификатор, а не выпадающий список.
Другой вариант - добавить readonly_fields
вместо raw_id_fields