【问题标题】:Django : Mezzanine front search moduleDjango:夹层前端搜索模块
【发布时间】:2018-11-02 05:03:31
【问题描述】:

我在使用 mezzanine 的 django 应用程序中遇到问题。

我已经指定了可以通过这种方式搜索的模型:

SEARCH_MODEL_CHOICES = ('organization-pages.CustomPage',
                        'organization-network.DepartmentPage',
                        'organization-network.TeamPage',
                        'organization-network.Person',
                        'organization-projects.ProjectTopicPage',
                        'pages.Page',
                        'organization-media.Playlist',
                        'mezzanine_agenda.Event',
                        'organization-projects.Project',
                        'shop.Product',
                        'organization-magazine.Article')

PAGES_MODELS = ('organization-pages.CustomPage',
                'organization-magazine.Topic',
                'organization-network.DepartmentPage',
                'organization-network.TeamPage',
                'organization-projects.ProjectTopicPage',
                'shop.Product')

SEARCH_PARENTS_MODELS = ('organization-network.Person',)

而且我还没有接触过 Mezzanine 的任何源代码。

我正在使用 django 模型翻译,有一个这样的对象:

d = DepartementPage.objects.create()
d.title_fr = 'french'
d.title_en = 'english'

如果我尝试使用 Mezzanine 的搜索引擎搜索它,我只会在输入我当前使用的语言的标题时找到它。

我的意思是,如果我使用英语应用程序,我不会让我的对象搜索“法语”,而它 should do

你知道我的问题来自哪里吗?

【问题讨论】:

  • 您在DepartementPage 模型上定义了什么search_fields?这些决定了搜索哪些字段。

标签: python django mezzanine django-modeltranslation


【解决方案1】:

使用您在上面代码中指定的模型:

d = DepartementPage.objects.create()
d.title_fr = 'french'
d.title_en = 'english'

您应该能够在views.py 中使用以下内容成功搜索这些字段:

query = "search string"
search_fields = ("title_fr", "title_en")
results = DepartementPage.objects.search(query, search_fields=search_fields)

来自docs

如果在对search 的调用中未提供search_fields,则使用的字段将是为模型指定的默认字段。

您尚未发布其余的模型字段,但我假设您也有默认的 title 字段(title_frtitle_endjango-modeltranslation 应用程序自动生成)。 title 字段是默认字段,因此将是搜索结果中包含的唯一字段。祝你好运!

【讨论】:

    猜你喜欢
    • 2019-06-16
    • 2016-04-24
    • 1970-01-01
    • 2012-06-28
    • 2018-02-18
    • 1970-01-01
    • 1970-01-01
    • 2018-04-06
    • 1970-01-01
    相关资源
    最近更新 更多