如何在 haystack 中默认签入特定模型?

发布于 2024-12-28 15:17:45 字数 102 浏览 2 评论 0原文

我正在使用 haystack 进行搜索。默认情况下,它会搜索所有模型,然后提供已索引的模型清单以优化搜索。有没有一种方法可以覆盖此功能,即我可以使其默认在特定模型中搜索吗?任何帮助表示赞赏。

i am using haystack for searching. By default it searches in all the models and then provides the checklist of models indexed to refine search. Is there a way i can override this functionality i.e can i make it search in a particular model by default?? Any help is appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

呆橘 2025-01-04 15:17:45

您可以使用 SearchQuerySet 中的 models 方法:

http://docs.haystacksearch.org/dev /searchqueryset_api.html#models

或使用保留字段名称 django_ct,如下所示:

SearchQuerySet().filter(django_ct='app_name.model_name')

You can either use the models method from SearchQuerySet:

http://docs.haystacksearch.org/dev/searchqueryset_api.html#models

or use the reserved field name django_ct like this:

SearchQuerySet().filter(django_ct='app_name.model_name')
如此安好 2025-01-04 15:17:45

您可以覆盖 ModelSearchForm 来执行此操作,尝试类似的操作下面,将 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'),
)

You can override ModelSearchForm to do this, try something like the below, replacing app_label.model_name with the model(s) you wish to search by default.

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'),
)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文