Update search

This commit is contained in:
2025-11-05 21:26:32 +11:00
parent d8b763592f
commit 15c462ac91
+7 -6
View File
@@ -19,7 +19,7 @@ class SearchView(ListView):
query = self.request.GET.get('q', '').strip()
type_filter = self.request.GET.get('type', '')
page_num = self.request.GET.get('page', 1)
try:
page_num = int(page_num)
except (ValueError, TypeError):
@@ -33,27 +33,27 @@ class SearchView(ListView):
page=page_num,
per_page=self.paginate_by
)
# Enrich results with actual model data
enriched_results = []
for result in search_results['results']:
enriched_result = self._enrich_result(result)
if enriched_result:
enriched_results.append(enriched_result)
# Store search metadata for pagination
self.search_total = search_results['total']
self.search_has_next = search_results['has_next']
self.search_has_prev = search_results['has_prev']
return enriched_results
return []
def _enrich_result(self, result):
"""Fetch full model data for search result"""
model_type = result['model_type']
model_id = result['model_id']
try:
if model_type == 'link':
link = Link.objects.get(id=model_id)
@@ -120,6 +120,7 @@ def search(request):
# Search posts
posts = Post.objects.filter(
Q(title__icontains=query) |
Q(summary__icontains=query) |
Q(content__icontains=query)
)[:5]
results.extend([{