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 [])