С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 17.02.2013
Сообщений: 16

Как сделать в Админке выбор автора, если их много

22.08.2018, 13:00. Показов 2475. Ответов 9

Студворк — интернет-сервис помощи студентам
Здравствуйте высокоуважаемое сообщество программистов!

Суть в чём. Попросили создать простое приложение "общей тетради" для школы. На самом деле это своего рода общий блог. Детям дают задания написания статьи, а уже потом несколько энтузиастов (выберут там человека 3-5) вносят эти статьи в проект.

И всё-бы хорошо, но авторов оказывается огромное количество. Как мне сказала завуч, скорее всего будет от 250 до 700 авторов. Т.е. потенциально вся школа.

У каждого автора должна быть своя уникальная ID учётка, чтобы можно было искать по автору.

Но т.к. будут вносить в блог отдельные личности (те 3-5 человек, которым дадут эти ограниченные привилегии), то на стадии добавления статьи возникает огромная проблема с выбором автора. Вот если их к примеру 10-30, то можно поискать, а если их 250 или 550, то найти и выбрать из раскрывающегося списка, становиться проблематично и неудобно. Сразу возникнут ошибки, путаница и недовольства разного ранга.

Возникает вопрос. Как же в админке сделать поле автора таким образом, чтобы можно было в нём производить своего рода поиск. Я вижу использования ajax и формирования подсказок (как на поиске яндекс-гугл и т.п.), кто-нибудь решал подобную задачу?

Делал ли кто-то что-то подобное? Да и вообще есть у джанго возможность в его api какая-то хитрая настройка, чтобы можно было что-то написав сделать таким образом, чтобы вместо раскрывающегося списка, было просто поле с поиском? (я почему спрашиваю, ведь django может ведь на лету slug делать, может и такое что-то подобное есть?)

С уважением!

p.s. ах да, вот как оно уже выглядит, а я добавил только пару десятков авторов.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.08.2018, 13:00
Ответы с готовыми решениями:

Как лучше сделать базу данных, если много таблиц?
Всем привет.Как лучше сделать базу данных автосалона,если много таблиц в базе данных. Отдельно создавать формы на таблицу? Или же как...

Как сделать,чтобы ссылки не индексировались,если лень писать nofollow , ссылок много
Такой вопрос:я вставляю как с помощью ворда таблицы с msdn на сайт,и мне нужно,чтобы вся таблица неиднексировалась,главное,чтобы ссылки не...

Как сделать поиск по сайту если на сайте имеется много страницы и не делать поиск по странице а найти по в
Как сделать поиск по сайту если на сайте имеется много страницы и не делать поиск по странице а найти по в

9
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
24.08.2018, 06:11
Как минимум можно сделать дефолтную сортировку. Добавь в модель авторов в класс Meta такую строчку для сортировки по алфавиту:
Python
1
ordering = ('fio',)
2
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
24.08.2018, 17:54
Цитата Сообщение от МаксимСергеевич Посмотреть сообщение
чтобы вместо раскрывающегося списка, было просто поле с поиском?
Можно. ModelAdmin.search_fields
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
27.08.2018, 05:39
Garry Galler, мне кажется, это не то. Пытался прикрутить к django.contrib.auth.admin.UserAdmin — не получилось.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
27.08.2018, 12:22
Рыжий Лис,
Это стандартное поле поиска для админки, которое осуществляет поиск в БД по указанным полям.
ModelAdmin.search_fields
search_fields позволяет добавить поиск на страницу списка объектов. Этот атрибут должен содержать список полей, которые будут использоваться при поиске.

Эти поля должны быть текстовыми, таким как CharField или TextField. Вы можете указать поля из связанных объектов используя __:
ТС хотел либо это
Цитата Сообщение от МаксимСергеевич Посмотреть сообщение
просто поле с поиском?
либо коня в вакууме.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
27.08.2018, 13:48
ТС хочет удобное заполнение админки, чтобы фио не искать мучительно долго.

Пример для Many-to-Many:

0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
27.08.2018, 14:57
У него админка уже заполнена (заполняется по мере поступления данных). Он просто не хочет огромного списка в dropdown.
Поле поиска разве не для этого?
0
0 / 0 / 0
Регистрация: 17.02.2013
Сообщений: 16
29.08.2018, 16:26  [ТС]
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
Добавь в модель авторов в класс Meta такую строчку для сортировки по алфавиту:
Python
1
ordering = ('fio',)
Это в какой-то степени помогло. Ну по крайней мере визуально. Правда у меня это выглядит, как:
Python
1
ordering = ('full_name',)
Но это не решает проблему большого количества. В идеале нужен Live-search для поля "журналисты".

Цитата Сообщение от Garry Galler Посмотреть сообщение
Можно. ModelAdmin.search_fields
А вот тут у меня никакого фильтра не создаётся. У меня по факту просто появляется поле поиска на странице Журналистов.

Но на странице создания статьи ничего подобного нет, всё как и прежде, только участники (по совету Рыжего Лиса) теперь отсортированы по алфавиту.

Мне же нужно, чтобы вместо раскрывающегося списка (в перспективе который будет под пол тысячи) было поле поиска, как я уже сказал желательно типа LiveSearch, но а для начала, хоть какое-то.
0
 Аватар для Wi0M
395 / 123 / 48
Регистрация: 26.10.2013
Сообщений: 734
29.08.2018, 16:33
Ну наверное тогда нужно перекрывать шаблон создания и редактирования модели, где будет JS который по мере набора текста и будет показывать результат неточного поиска по журналистам, а журналистов ты можешь передать в шаблон через форму. Ну я бы так сделал.
0
0 / 0 / 0
Регистрация: 17.02.2013
Сообщений: 16
29.08.2018, 16:59  [ТС]
Цитата Сообщение от Wi0M Посмотреть сообщение
Ну наверное тогда нужно перекрывать шаблон создания и редактирования модели, где будет JS который по мере набора текста и будет показывать результат неточного поиска по журналистам, а журналистов ты можешь передать в шаблон через форму. Ну я бы так сделал.
Ну вот я что-то подобное и ищу, только я почему-то решил, что оно такое уже где-то есть, что называется из коробки. Но нет. Вот нашёл вариант. Буду пробовать колдовать, хотя вот думаю, может быть стоит действительно сделать несколько разных кабинетов для разных групп пользователей, но это же столько работы лишней...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.08.2018, 16:59
Помогаю со студенческими работами здесь

Как сделать правильный выбор языка программирования, если интересны разные сферы?
Здравствуйте. В последнее время, выбор языка программирования для меня стало большой проблемой. Это напоминает мне выбор религии. Все...

Как сделать выбор персонажа в консольном приложении? Как сделать чтобы программа заново предлагала выбор
Кто знает как разобраться с программой? Дело такое, программа предлагает выбрать одного из трёх персонажей клавишами 1, 2 или 3. Но,...

Как сделать ограничение функций в админке
Здравствуйте Не первый раз обращаюсь к вам, и не первый раз помогаете :) Надеюсь и сейчас поможете В общем, есть код авторизации: ...

как упорядочить список по фамилии автора, если дана информация о книге?
Пусть дану упорядоченный список информации о книге (ФИО автора, название книги, год издания). Список упорядочен по фамилии автора. Добавить...

Как сделать, чтобы в админке отображались создаваемые страницы?
Вопрос не по самому Django, а по Django CMS, может сталкивался просто кто. При создании страниц в админке, они сохраняются в базе данных,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru