3

以上就是我的总结,如果有其他想法请告诉我。

尝试在 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 try to import multiligualmodel

老实说,我想知道一直将 HAYSTACK_ENABLE_REGISTRATIONS 设置为 false 。

4

1 回答 1

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)

设置.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
...

如果从一开始就在文档中就好了!

于 2012-10-16T15:03:27.273 回答