使用
python3 python3 manage.py rebuild_index # 重建index
发现并没建立索引。
WARNING: This will irreparably remove EVERYTHING from your search index in connection ‘default’.
Your choices after this are to restore from backups or rebuild via the rebuild_index
command.
Are you sure you wish to continue? [y/N] y
Removing all documents from your index because you said so.
All documents removed.
少了一行。。。
我一看肯定是因为函数没有返回索引给solr引擎。(引擎配置没问题说明)
于是检查接口函数:
from haystack import indexes
from .models import Ariticle
class PostIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.CharField(document=True, use_template=True)
publish = indexes.DateTimeField(model_attr='publish')
def get_model(self):
return Ariticle
def index_queryset(self, using=None):
return self.get_model().published.all()
TM就这么几行代码能有错?
后来:Google找到答案。。。文件名是search_indexs.py 错写了 导致django-haystack 没有调用(捂脸–)