whoosh_search()返回空

时间:2014-04-14 07:42:55

标签: sqlalchemy flask flask-sqlalchemy whoosh

http://pythonhosted.org/Flask-WhooshAlchemy/的教程适合我。

这是我的设置

class Post(db.Model):
    __tablename__ = 'post'
    __searchable__ = ['body']

    id = db.Column(db.Integer, primary_key=True)
    body = db.Column(db.String)

结果:

如果我没有在whoosh_index()之前放whoosh_search(),我会收到错误消息: AttributeError: 'BaseQuery' object has no attribute 'whoosh_search'

db.session.query(Post).filter(Post.body=='hi')返回正确的输出。 Post.query.whooshee_search('hi')返回空

我确实留下了一些代码,比如额外的列和背景,但我认为这不会改变任何内容

有几点需要注意:

  • 教程在没有whoosh_index()的情况下工作正常,但我的代码丢错了 当我没有包括它时。
  • db.session.query(Post).filter()代码工作正常,表明我的模型至少有点正确,而且嗖的一声/我的嗖的设置有什么问题

请帮忙,谢谢

1 个答案:

答案 0 :(得分:0)

我也遇到了与Post.query.whoosh_search('post').all()一直返回空列表相同的问题。

我发现可以使用此处指定的特定版本来解决它 https://github.com/gyllstromk/Flask-WhooshAlchemy/blob/master/requirements.txt

我使用的是以下版本:

烧瓶== 0.10.1

Flask-SQLAlchemy-2.1

Whoosh-2.7.2

blinker-1.4

替换为:

**Flask==0.10.1**

**Flask-SQLAlchemy==1.0**

**Whoosh==2.6.0**

**blinker==1.3**

一旦找到确切的哪个升级导致此问题及其原因,我将在此处更新。