处理Haystack导入错误的最佳方法

时间:2012-10-16 11:35:35

标签: django django-haystack

继承了我的最终目的,如果您有任何其他想法,请告诉我。

尝试在urls.py中执行此操作

from apps.search import search_indexes

import haystack
haystack.autodiscover()

如果没有导入search_indexes,将无法使用。

我还在设置中使用此hack来管理命令:

SKIP_COMMANDS = ['test']
if any([command in sys.argv for command in SKIP_COMMANDS]):
HAYSTACK_ENABLE_REGISTRATIONS = False

取自这篇文章:Can't use django management commands because of Import Errors when haystack tries to import multiligualmodel

我想知道将HAYSTACK_ENABLE_REGISTRATIONS设置为假的整个时间是诚实的。

1 个答案:

答案 0 :(得分:1)

将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
...

如果只是从一开始就在文档中!