如何自定义Haystack的SearchView以接受addtional URL参数?

时间:2012-07-09 15:08:45

标签: django django-haystack django-class-based-views

鉴于url conf:

r'^(?P<some_var>[-a-z0-9\.]*[a-z0-9\.]\.\w+)/search/$'

如何将命名组some_var传递给Haystack的SearchView?

我想覆盖SearchView.get_results()以执行额外过滤,具体取决于some_var

这是最好的方法吗?

1 个答案:

答案 0 :(得分:6)

子类SearchView并覆盖__call__,它是该类的“视图”部分。

from haystack.views import SearchView

class MySearchView(SearchView):

    def __call__(self, request, some_var):
        self.some_var = some_var
        return super(MySearchView, self).__call__(request)

然后,您可以在课程的其他方法中使用self.some_var