![](/img/trans.png)
[英]django-haystack - filter based on query along with query for search term
[英]Passing a fixed query term to django-haystack
我正在寻找一个使用django-haystack显示固定的搜索结果集的页面。 我已经有一个页面可用于使用haystack的SearchView
进行搜索,并且想要创建第二个页面,该页面默认显示特定搜索的结果-在此示例中,搜索包含Fruit
所有文档。
这是我的urls.py:
from haystack.views import SearchView
from django.conf.urls import url
import haystack
from .search_Queries import custom_query
from .forms import CustomSearchForm
urlpatterns = [
url(r'^fruit/', SearchView(form_class=CustomSearchForm,
searchqueryset=custom_query)),
url(r'^$', SearchView(form_class=haystack.forms.SearchForm,
searchqueryset=custom_query),
]
我试图通过覆盖表单中的get_queryset
方法来使视图显示初始Fruit
搜索项-但是,这似乎并不是正确的解决方法
表格
class CustomSearchForm(SearchForm):
def get_queryset(self):
queryset = super(CustomSearchForm, self).get_queryset()
queryset = queryset.auto_query('Fruit')
return queryset
如何使用django-haystack在视图中显示特定术语的一组搜索结果作为默认值? 我想做一个单独的视图,以便我的^fruit/
URL直接显示Fruit
搜索结果,而不是重定向到/q=Fruit
。
带有SearchQuerySet
功能的普通Django视图SearchQuerySet
:
url(r'^myquery/$', views.custom_query),
和里面views.py
:
from haystack.query import SearchQuerySet
from django.http JsonResponse
def custom_query(request):
sqs = SearchQuerySet().auto_query('fruit').load_all()
# and do whatever you want with the sqs
return JsonResponse({'result': sqs[0].object.pk})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.