Упорядочить Django QuerySet по месту появления термина в результатахJquery

Программирование на jquery
Anonymous
Упорядочить Django QuerySet по месту появления термина в результатах

Сообщение Anonymous »

Я пытаюсь реализовать автозаполнение поля ввода с помощью Django и jQuery (пользователь ищет еду из меню). Проблема заключается в том, как упорядочить результаты.
Если, например, пользователь вводит «Рыба», я хочу, чтобы автозаполнение было упорядочено следующим образом:
  • "Фиш энд Чипс"
  • "Рыба жареная"
  • "Жареная рыба"
    "Жареный сом"
Поэтому результаты будут упорядочены в первую очередь по тому, где поисковый запрос появляется в названии, а затем по алфавиту. порядок после этого.
Мой QuerySet в настоящее время извлекается в Django с помощью

Код: Выделить всё

views.py
def load_menu(request):
term = request.GET['term'] # the search term typed by user
menu = Menu.objects.filter(item__icontains=term).order_by('item', 'id') # item = name of food

# constructing JSON response
data = []
for item in menu:
item = {
'label': item.item,
'value': item.id,
}
data.append(item)
return JsonResponse({'data': data})  # received by jQuery function to display autocomplete menu
но результаты упорядочиваются только в алфавитном порядке, а мне это не нужно.
Как я могу упорядочить результаты, как указано в примере выше?
п>

Подробнее здесь: https://stackoverflow.com/questions/785 ... in-results

Вернуться в «Jquery»