Найти - Пользователи
Полная версия: Поиск по нескольким моделям в админке одновременно
Начало » Django » Поиск по нескольким моделям в админке одновременно
1 2
leechuck
Подскажите пожалуйста в каком направлении двигаться ?

Как организовать одновременный поиск по нескольким моделям сразу, и выводить общий список результатов …

Игорь.
fashust
Не совсем понял вопрос, вы хотите в админке для одной модели выводить результаты поиска по нескольким моделям не связанным друг с другом, или же у вас есть какие-то связи между ними?
lorien
Делаете свою вьюшку и ищете как угодно. Можно например fulltext-движок прицепить типа sphinx, xapian, а можно что-нить навелосипедить.
FishHook
leechuck
Подскажите пожалуйста в каком направлении двигаться ?

Как организовать одновременный поиск по нескольким моделям сразу, и выводить общий список результатов …

Игорь.
А занахрена?
leechuck
fashust
Не совсем понял вопрос, вы хотите в админке для одной модели выводить результаты поиска по нескольким моделям не связанным друг с другом, или же у вас есть какие-то связи между ними?

Спасибо, что откликнулись !

Связей нет …
Есть пользователи, профили, новости, например.

Сделать что-то поля сквозного поиска в админке. Что бы не бегать по моделям.
Открыл админку - в admin/base.html уже встроенная форма, допустим.
Выводит список со ссылками на разнородные обьекты.

Где то так.

На фронте я бы так сделал.
Словарь с нужными полями, поле edit_url в т.ч.
во вьюхе наполняем словарь из разных моделей и передаем в шаблон и т.д.

Как это правильно в админку встроить ?

Как правильно просто к админке подключить ?
leechuck
lorien
Делаете свою вьюшку и ищете как угодно. Можно например fulltext-движок прицепить типа sphinx, xapian, а можно что-нить навелосипедить.

Спасибо за совет. Но как правильно эту вьюху к админке прикрутить ?
lorien
> Спасибо за совет. Но как правильно эту вьюху к админке прикрутить ?
Прочитать официальную документацию по админке.
Lexander
Если:
1. вам нужна функция поиска “по всему”;
2. такой поиск происходит достаточно часто, чтобы для его оптимизации что-то делать
3. сайт информационный (много текста)
4. у вас SQL-база
, то я бы создал отдельную таблицу-справочник, куда писал бы индекс значимых поисковых слов и/или фраз и поиск делал именно по этой таблице.

Подчеркиваю причинно-следственное “если -> то”.

Цель создания отдельной таблицы - ускорение поиска.
1 запрос отработает быстрее, чем несколько плюс ранжирование будет готово сразу в результате запроса.

Если у вас noSQL, то, вынесение разнородной информации на разные физические сервера/кластеры (шардинг) даст тот же эффект плюс будет запас по масштабированию.
lorien
> , то я бы создал отдельную таблицу-справочник, куда писал бы индекс значимых поисковых слов и/или фраз и поиск делал именно по этой таблице.

Откройте для себя sphinx, lucene, xapian :)
leechuck
lorien
> Спасибо за совет. Но как правильно эту вьюху к админке прикрутить ?
Прочитать официальную документацию по админке.

А точнее ? Как встроить свою вьюху в Админку ?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB