如何在python中使用whoosh_search选择多个表?

时间:2018-07-02 15:06:02

标签: python flask flask-sqlalchemy whoosh

这是初始化我的应用程序的代码。我想在具有多个联接的查询中将搜索词传递给whoosh_search时选择多个表。

from flask_sqlalchemy import SQLAlchemy
from whoosh.analysis import SimpleAnalyzer
import flask_whooshalchemy as wa

db = SQLAlchemy(app)

class User(db.Model):
    id = db.Column(db.String(50), primary_key=True)
    name = db.Column(db.String(50))

class Product(db.Model):
    __tablename__ = 'product'
    __searchable__ = ['name', 'description']
    __analyzer__ = SimpleAnalyzer()

    id = db.Column(db.String(50), primary_key=True)
    user_id = db.Column(db.String(50))
    status = db.Column(db.String(50))
    name = db.Column(db.String(70))

wa.whoosh_index(app, Product)

如何访问User表?一个连接的简单示例。

products = Product.query.whoosh_search('furniture') \
    .join(User, Product.user_id == User.id).all()

我尝试了这个,但是返回了一个错误...

products = db.session.query(Product, User).whoosh_search(search_query) \
    .join(User, Product.user_id == User.id).all()
  

AttributeError:“ BaseQuery”对象没有属性“ whoosh_search”

如何从UserProduct表中获取字段值?

0 个答案:

没有答案