упорядочивание django-стога-сена - Как я обрабатываю это?

Я использую django-стог-сена для страницы результатов поиска на моем сайте. Я в основном сделан, но не совсем довольный упорядочиванием и не совсем уверенный, как стог сена решает, как заказать все.

Я знаю, что могу переопределить SearchQuerySet при помощи order_by но это переопределяет его полностью. Скажем, я хочу вынудить поиск заказать в запасе (BooleanField), так, чтобы продукты, которые находятся в, накопили шоу на вершине, но затем сделали все остальное, как это обычно было бы. Как я делаю это?

Я пытался делать order_by('-in_stock', 'content') содержание числа было тем, что оно использовало по умолчанию, но оно производит совсем другие результаты, если я просто оставляю это, делают его собственное упорядочивание.

Спасибо за любой вход по этому вопросу!

9
задан Bartek 8 June 2010 в 17:49
поделиться

1 ответ

У вас должен быть индекс в вашем search_indexes.py с in_stock:

class YourModel(indexes.SearchIndex):
    in_stock = indexes.BooleanField(model_attr='model_in_stock')

и в ваших URL:

sqs = SearchQuerySet().models(YourModel).order_by('-in_stock', 'score') # score is a field of haystack

Таким образом, вы сначала показываете результаты, если они есть в наличии, а затем по количеству очков!

19
ответ дан 4 December 2019 в 10:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: