簡體   English   中英

使用 whoosh_search 和分頁時出現 sqlalchemy 錯誤

[英]sqlalchemy error when using whoosh_search and pagination

我正在嘗試使用 sqlalchemy(我使用flask-sqlalchemy)和 whoosh 對文本搜索結果進行分頁。 我簡化的 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_result = models.User.query.whoosh_search(search_txt, MAX_SEARCH_RESULTS).paginate(1, MEMBERS_PER_PAGE, False)

其中 search_txt 是我的搜索文本。 如果搜索結果只有一個用戶,則此方法有效。 但是如果有多個用戶,我會收到以下錯誤

AttributeError: 'result' 對象沒有屬性 'id'

我剛開始使用 sqlalchemy,所以這可能是我這邊的一些非常簡單的錯誤? 謝謝你的幫助卡爾

編輯:確定問題與變量 MEMBERS_PER_PAGE 有關。 如果 MEMBERS_PER_PAGE 等於搜索結果的數量,我會收到錯誤消息。 否則它工作正常......

這似乎是 Flask-WhooshAlchemy 中的一個錯誤。 在 Flask-WhooshAlchemy 的github頁面上有一個解決問題的開放拉取請求。 我最終使用了Flask-WhooshAlchemy-Redux ,正如關於拉取請求的討論中所建議的那樣,這為我解決了分頁問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM