나는 예쁜 장구를 기반으로 검색하기 위해 장고 건초 더미를 설정하려고합니다. 여기 내 urlpatterns입니다.Django Haystack 예쁜 검색을위한 SearchView
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)
내가 시도하고 방문하는 경우 장고 dev에 웹 서버를 실행하는이 오류가 계속/검색/공급 업체/Q = 마이크로 소프트
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를 방문하면 정상적으로 작동합니다. 이것을 이루기위한 다른 방법이 있습니까? 어떤 포인터 -Jay
bennylope 대단히 감사합니다 :
그리고 경우에 당신은 몇 가지 모델이있다. 그게 내 정확한 문제를 해결! 그리고 내가하려는 일을 간소화했습니다. – titleistfour
나는 당신이 무슨 일이 일어나고 있었는지 그리고 왜 그 일이 일어 났는지에 대해 충분히 설명 할 시간을 가졌음을 감사드립니다. 그건 나에게 매우 가치있는 일이다. 다시 감사합니다. – titleistfour