鉴于这样的模型:
Product(db.Model):
__tablename___ = 'product'
product_id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(length=40))
description = db.Column(db.String(length=8000))
language = db.Column(db.String(length=2))
这个想法是"产品"每种语言都会创建一次条目,其中语言类似于en
或fr
。
我想避免在所有视图函数中按语言强制过滤查询,所以不要这样:
products = Product.query.filter_by(language=request.headers['lang']).filter_by(name='something').all()
我想要这个:
products = Product.query.filter_by(name='something').all()
语言过滤部分自动完成。
我将如何解决这个问题,如何才能最清晰地实现这一目标,而无需重写一个具象的万亿现有查询以成为语言识别?