首先,必须提出必要的“我对python很新”的评论。
我的一些环境细节: - Windows 7的 - Python 2.7 - Django 1.3.4 - PostgreSQL 9.2
当我尝试运行“manage.py syncdb”时,我收到以下错误。
File "c:\python27\lib\site-packages\fts\backends\pgsql.py", line 46, in __init__
raise InvalidFtsBackendError("PostgreSQL with tsearch2 support is needed to use the pgsql FTS backend")
fts.backends.base.InvalidFtsBackendError: PostgreSQL with tsearch2 support is needed to use the pgsql FTS backend
我很困惑为什么会抛出这个错误,因为我安装了Django-tsearch2包(在这里找到:https://github.com/hcarvalhoalves/django-tsearch2)
有关为何我收到此错误的任何见解?
谢谢你的时间!
答案 0 :(得分:0)
看起来你正在尝试将较旧的Django版本与较新的PostgreSQL一起使用。
在最近的PostgreSQL版本中,全文搜索从contrib模块转换为内置功能。它曾经是tsearch2
扩展,似乎是Django正在寻找的。 p>
为了与旧版本向后兼容,PostgreSQL仍然包含一个扩展,它提供tsearch2
的旧操作符和语法。您可以通过以PostgreSQL超级用户身份运行命令来在数据库中启用它:
CREATE EXTENSION tsearch2;
这应该允许您较旧的Django版本“看到”全文搜索支持。