From d81c8cbda13dc016928db78e102a0281bbfa42f0 Mon Sep 17 00:00:00 2001 From: Matthias Portzel Date: Fri, 11 Mar 2022 21:14:37 -0500 Subject: [PATCH] Search results are chronological Also moved to search_view_factory because apparently it's thread-safe and I think Apache runs multiple threads. --- main/search_indexes.py | 1 + whispermaphone/urls.py | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/main/search_indexes.py b/main/search_indexes.py index 9a5a4ed..361f36b 100644 --- a/main/search_indexes.py +++ b/main/search_indexes.py @@ -3,6 +3,7 @@ from .models import Thought class ThoughtIndex(indexes.SearchIndex, indexes.Indexable): text = indexes.CharField(document=True, use_template=True, template_name="search/indexes/main/thought_text.txt") + posted = indexes.DateTimeField(model_attr="posted") def get_model(self): return Thought diff --git a/whispermaphone/urls.py b/whispermaphone/urls.py index 5fe1681..9a1c746 100644 --- a/whispermaphone/urls.py +++ b/whispermaphone/urls.py @@ -5,7 +5,8 @@ from main import views from main.feed import MainFeed from whispermaphone import settings -from haystack.views import SearchView +from haystack.views import SearchView, search_view_factory +from haystack.query import SearchQuerySet from haystack.forms import SearchForm urlpatterns = [ @@ -14,5 +15,9 @@ urlpatterns = [ path("login", views.login, name="login"), path("post", views.post, name="post"), path("feed", MainFeed()), - path("search", SearchView(form_class=SearchForm), name="thoughts_search") + path("search", search_view_factory( + view_class=SearchView, + form_class=SearchForm, + searchqueryset=SearchQuerySet().order_by("-posted") + ), name="thoughts_search") ] + (static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) if settings.DEBUG else [])