如何设置whoosh_search?

时间:2016-08-24 21:01:36

标签: flask whoosh

我在申请中设置whoosh_search时遇到问题。

非常快,让我告诉你我的文件配置。

settings.py

basedir = os.path.abspath(os.path.dirname(__file__))
WHOOSH_BASE = os.path.join(basedir, 'search.db')

models.py

import flask_whooshalchemy as whooshalchemy

class Post(Base):

    __tablename__ = 'post'
    __searchable__ = ['title', 'type_course']

    id = db.Column(db.Integer, primary_key=True)
    author_id = db.Column(db.Integer, db.ForeignKey('author.id'))
    title = db.Column(db.String(500))
    type_course = db.Column(db.String(20))
    about_course = db.Column(db.Text())

如果我试图测试它是否正常工作,我会在shell内部收到此错误:

>>> from pro.main.models import Post
>>> p = Post.query.whoosh_search('cool')
Traceback (most recent call last):
  File "<console>", line 1, in <module>
AttributeError: 'BaseQuery' object has no attribute 'whoosh_search'

我已经阅读了另一篇发布此问题的文章,但我仍然遇到同样的问题。

另外要提一下,我几乎在所有文件中都有这个代码: sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))),也许这会导致一些问题!!,我不确定,因为应用程序没有任何错误。

最终,任何帮助都会受到赞赏。

0 个答案:

没有答案