2011-08-24 84 views
2

除了关于如何使用基于类的视图的official haystack web site之外,是否还有任何教程或示例?django haystack - 基于类的视图

我真正需要的是能够显示来自多个模型的结果,当用户进行搜索时,从我的理解我将需要创建我自己的视图并继承自SearchView,但官方网站上的示例并非如此对我来说足够了。

+0

你尝试类似:SearchQuerySet()。模型(模型1,模型2,Model3) – TomHarrigan

回答

1

在这种情况下,学习的最好方法是探索的源代码,找到他们的工作方式,那么你可以重写方法你想

0

在草堆的默认视图是不正确的,或者我应该说,典型的类基于观点。据我所知,它们是Haystack独有的。

话说,它不是太难继承他们,只是这样做:

class CustomSearchView(FacetedSearchView): 
    def create_response(self): 
     if self.request.method == 'POST': 
      .... 

     if self.request.method == 'GET': 
      .... 

     return super(CustomSearchView, self).create_response() 

    def extra_context(self): 
     # add your context 

正如你可以看到,他们是基于类的意见,并根据意见功能之间的某处。

你的情况,你可能需要为所有模型SearchIndexes,然后你将不得不做的就是让你的正确的初始查询在urls.py