这是初始化我的应用程序的代码。我想在具有多个联接的查询中将搜索词传递给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”
如何从User
和Product
表中获取字段值?