Упорядочить 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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