这是我最终得到的,如果您有任何其他想法,请告诉我。
尝试在 urls.py 中执行此操作
from apps.search import search_indexes
import haystack
haystack.autodiscover()
如果不导入search_indexes,将无法工作。
我还在设置中使用此技巧来使管理命令正常工作:
SKIP_COMMANDS = ['test']
if any([command in sys.argv for command in SKIP_COMMANDS]):
HAYSTACK_ENABLE_REGISTRATIONS = False
摘自这篇文章:由于 haystack 尝试导入多语言模型时出现导入错误,无法使用 django 管理命令
老实说,我想知道只是将HAYSTACK_ENABLE_REGISTRATIONS一直设置为虚假。
HAYSTACK_ENABLE_REGISTRATIONS设置为 False 不起作用。
然而,我已经制定了一个在Django 1.4,Apache mod_wsgi,Haystack 1.2.7上适合我的配置。
试试这个配置:
myapp.search_indexes.py
from haystack import indexes, site
from apps.myapp.models import MyModel
class MyModelIndex(indexes.SearchIndex):
...
site.register(MyModel, MyModelIndex)
settings.py
HAYSTACK_SITECONF = 'apps.myapp.search_indexes'
SKIP_COMMANDS = ['test']
if any([command in sys.argv for command in SKIP_COMMANDS]):
HAYSTACK_ENABLE_REGISTRATIONS = False
...
要是从一开始就在文档中就好了!