干草堆注册由“settings.TESTING”守卫。我如何在haystack 2.X中做到这一点

时间:2014-11-04 15:23:42

标签: django-haystack

我的理解是,在2.X中,一切都发生在带有haystack的manage.py阶段,因此不再需要site.register。代码库中的一些寄存器语句已经被settings.TESTING的检查所保护,而有些则没有。如何使用haystack 2.X实现该功能?

1 个答案:

答案 0 :(得分:1)

我没有评论的声誉(这可能不是一个真正的答案)。我还没有在大海捞针中使用旧的site.register东西。我还在猜测你要做什么。有了这些警告......

一种可能性是有两个索引,一个用于测试,一个用作默认值。您是否根据设置包含或排除。测试是否属实?迁移文档提到了可以在后端定义中使用的EXCLUDED_INDEXES设置。因此,如果您有一些昂贵/不需要的索引,这些索引可以放在单独的搜索索引文件/模块中,然后从测试后端中排除。测试和默认索引中的那些可以使用公共文件中的其他索引。

有了上述内容,您还需要弄乱路由,以便在测试期间使用正确的后端。另一种可能性就是定义真实的"在您的主要设置中默认。然后,在test_settings文件中,使用您的测试设置覆盖haystack连接作为默认值(包括EXCLUDED_INDEXES)。然后,您不需要使用(' test')来测试您的测试。

https://django-haystack.readthedocs.org/en/latest/multiple_index.html如果您已经80次试图让您的迁移工作,那么可能会很好的阅读;)