Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用whoosh_搜索和分页时发生sqlalchemy错误_Python_Flask_Pagination_Flask Sqlalchemy - Fatal编程技术网

Python 使用whoosh_搜索和分页时发生sqlalchemy错误

Python 使用whoosh_搜索和分页时发生sqlalchemy错误,python,flask,pagination,flask-sqlalchemy,Python,Flask,Pagination,Flask Sqlalchemy,我正在尝试使用sqlalchemy(我使用flask sqlalchemy)和whoosh对文本搜索结果进行分页。我的simplified models.py如下所示 class User(db.Model): __searchable__ = ['username'] id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(64), index=True, unique=T

我正在尝试使用sqlalchemy(我使用flask sqlalchemy)和whoosh对文本搜索结果进行分页。我的simplified models.py如下所示

class User(db.Model):
    __searchable__ = ['username']

    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(64), index=True, unique=True)

    def __repr__(self):
        return '<User %r>' % (self.username)

whooshalchemy.whoosh_index(app, User)
其中search_txt是我的搜索文本。如果搜索结果仅为一个用户,则此操作有效。但是如果它是多个用户,我会得到以下错误

AttributeError:“结果”对象没有属性“id”

我刚开始学习sqlalchemy,所以这可能是我方面的一些非常简单的错误? 谢谢你的帮助 卡尔


编辑:好,我发现问题与每个页面的变量成员有关。如果每页的成员数等于搜索结果数,则我会得到一个错误。否则它工作正常

这似乎是烧瓶里的一个虫子。在烧瓶WhooshAlchemy页面上有一个打开的pull请求,用于修复问题。正如关于pull请求的讨论中所建议的那样,我最终使用了,这为我解决了分页问题

search_result = models.User.query.whoosh_search(search_txt, MAX_SEARCH_RESULTS).paginate(1, MEMBERS_PER_PAGE, False)