Представления по умолчанию в стоге сена не являются правильными или, я должен сказать, типичными представлениями на основе классов.Насколько я знаю, они уникальны для 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