0
目前我有一個非常簡單的搜索選項,它可以瀏覽我的頁面,並通過幾個字段查找請求的查詢。如果我在其中輸入一個單詞,它就可以正常工作,但是如果我在搜索查詢中輸入多個單詞,即使單個頁面包含所有屬性,也不會收到任何內容。例如,如果我搜索test admin
,即使有一個包含標題測試的頁面,內容測試和作者管理員也不會收到空查詢。有沒有一種方法可以擴展搜索以單獨查找搜索查詢中的每個單詞?如何在Django中進行Q查找查找多個值
# Fetch all pages and sort them alphabetically
queryset = Page.objects.all().filter(archived=False).order_by("title")
# Get search query if applicable
query = request.GET.get("q")
if query:
queryset = queryset.filter(
Q(title__icontains=query) |
Q(content__icontains=query) |
Q(user__username__icontains=query) |
Q(user__first_name__icontains=query) |
Q(user__last_name__icontains=query)
).distinct()
好了,花了幾天的時間在這個問題上停滯不前,我決定用一個包來代替。 Haystack似乎完美地完成了這項工作。我對使用軟件包猶豫不決的原因是,這個項目也是我自己從頭開始學習django並自行開發應用程序的方式。然而,搜索整個網站及其所有應用程序的內容是非常複雜的,現在我將使用pacakge,稍後留下搜索和索引。謝謝你的建議。 – Ablivion