きれいな URL に基づいて検索するように Django Haystack をセットアップしようとしています。これが私のurlpatternsです。
urlpatterns += patterns('',
url(r'^search/$', SearchView(),
name='search_all',
),
url(r'^search/(?P<category>\w+)/$', CategorySearchView(
form_class=SearchForm,
),
name='search_category',
),
)
私のカスタム SearchView クラスは次のようになります。
class CategorySearchView(SearchView):
def __name__(self):
return "CategorySearchView"
def __call__(self, request, category):
self.category = category
return super(CategorySearchView, self).__call__(request)
def build_form(self, form_kwargs=None):
data = None
kwargs = {
'load_all': self.load_all,
}
if form_kwargs:
kwargs.update(form_kwargs)
if len(self.request.GET):
data = self.request.GET
kwargs['searchqueryset'] = SearchQuerySet().models(self.category)
return self.form_class(data, **kwargs)
/search/Vendor/q=Microsoft にアクセスしようとすると、Django dev Web サーバーを実行しているときにこのエラーが発生し続けます
UserWarning: The model u'Vendor' is not registered for search.
warnings.warn('The model %r is not registered for search.' % model)
そして、これは私のページに
The model being added to the query must derive from Model.
/search/q=Microsoft にアクセスすると、問題なく動作します。これを達成する別の方法はありますか?
ご指摘ありがとうございます - ジェイ