处理干草堆导入错误的最佳方法



这是我最终得到的,如果您有任何其他想法,请告诉我。

尝试在 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
...

要是从一开始就在文档中就好了!

相关内容

最新更新