【问题标题】:Django and haystack with whooshDjango 和 haystack 嗖嗖声
【发布时间】:2012-03-28 12:27:25
【问题描述】:

我已经用 haystack 设置了 django,但我遇到了一些问题。

我的 search_indexes.py 中有一行写着

body = indexes.TextField(model_attr='body')

这对应于我的 models.py 中的行

body = models.TextField()

当我尝试运行rebuild_index 时出现错误

body = indexes.TextField(model_attr='body')
AttributeError: 'module' object has no attribute 'TextField'

如果我注释掉 search_indexes.py 中的行,它会将我的文档添加到索引中。我该如何解决这个问题?

我有七个名为“test vid 1”到“test vid 7”的视频。当我搜索“测试”或“视频”时,它们都会出现,这很好。但是,当我搜索“6”时,什么都没有出现,而当我搜索“test vid 6”时,它们都会出现。好像干草堆没有考虑数字,知道这是为什么吗?

谢谢

【问题讨论】:

    标签: django django-haystack whoosh


    【解决方案1】:

    错误意味着TextField 不存在于indexes 中。

    使用indexes.CharField

    【讨论】:

    • 对不起,我的意思是正文(文本字段)。我在 search_indexes.py 中使用“从 haystack 导入索引”行导入索引。谢谢
    • 我不能,因为我的模型已经设计和填充。那么干草堆不适用于文本字段吗?有什么办法吗?
    • django-haystack 只有 CharField(你可以用它来存储 models.TextField)。将body = indexes.TextField(model_attr='body') 替换为body = indexes.CharField(model_attr='body')
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-09
    • 2019-03-30
    • 2012-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多