forum: implement order by date for search

This commit is contained in:
Antoine Bartuccio 2018-12-12 15:48:11 +01:00 committed by Skia
parent 721b22a1e9
commit 6891174935
2 changed files with 10 additions and 3 deletions

View File

@ -107,6 +107,7 @@ class BigCharFieldIndex(indexes.CharField):
class ForumMessageIndex(indexes.SearchIndex, indexes.Indexable): class ForumMessageIndex(indexes.SearchIndex, indexes.Indexable):
text = BigCharFieldIndex(document=True, use_template=True) text = BigCharFieldIndex(document=True, use_template=True)
auto = indexes.EdgeNgramField(use_template=True) auto = indexes.EdgeNgramField(use_template=True)
date = indexes.DateTimeField(model_attr="date")
def get_model(self): def get_model(self):
return ForumMessage return ForumMessage

View File

@ -54,11 +54,17 @@ class ForumSearchView(ListView):
def get_queryset(self): def get_queryset(self):
query = self.request.GET.get("query", "") query = self.request.GET.get("query", "")
order_by = self.request.GET.get("order", "")
if query == "": if query == "":
return [] return []
queryset = (
SearchQuerySet().models(ForumMessage).autocomplete(auto=query).load_all() queryset = SearchQuerySet().models(ForumMessage).autocomplete(auto=query)
)
if order_by == "date":
queryset.order_by("date")
queryset = queryset.load_all()
# Filter unauthorized responses # Filter unauthorized responses
resp = [] resp = []