Я использую стог сена для поиска. По умолчанию он ищет во всех моделях, а затем предоставляет контрольный список моделей, индексированных для уточнения поиска. Есть ли способ, которым я могу переопределить эту функциональность. Могу ли я сделать поиск по определенной модели по умолчанию? Любая помощь приветствуется.Как проверить в конкретной модели по умолчанию в haystack?
1
A
ответ
1
Чтобы это сделать, попробуйте что-то вроде ниже, заменив app_label.model_name на модели, которые вы хотите найти по умолчанию.
class CustomModelSearchForm(ModelSearchForm):
def __init__(self, *args, **kwargs):
super(CustomModelSearchForm, self).__init__(*args, **kwargs)
self.fields['models'].initial = ["app_label.model_name",]
urlpatterns = patterns('haystack.views',
url(r'^$', SearchViewg(form_class=CustomModelSearchForm, name='haystack_search'),
)
2
Вы можете использовать метод модели из SearchQuerySet:
http://docs.haystacksearch.org/dev/searchqueryset_api.html#models
или использовать зарезервированное имя поля django_ct так:
SearchQuerySet().filter(django_ct='app_name.model_name')