定义post(self):
selector = self.request.get('search')
search = db.GqlQuery("SELECT * FROM Product WHERE productName = :selector", selector=selector)
products = search.fetch(10)
values = {
'products' : products
}
doRender(self, 'search.html', values)以上代码是从我的产品类别的搜索功能…实际上,我尝试使用代码"Select * From Product Where productName like %:selector%“作为我的搜索函数,但是我不能使用这个代码...有没有其他的GQL代码可以替代'SQL-LIKE query'??
发布于 2010-12-15 15:43:31
App Engine中没有与SQL类似的等价物。但是,您可以执行以下操作
blurred_product_name = selector[:-2]
search = db.GqlQuery('SELECT * FROM Product where productName > ',
blurred_product_name)因此,如果您有名称为产品-1、产品-2、产品-3的产品,并且搜索词是“产品”,那么您的blirred_product_name将是"Produc“,它将返回本例中的所有三种可能性。但是,使用索引时要小心。
或者,您可以很好地使用SearchableModel http://www.billkatz.com/2008/8/A-SearchableModel-for-App-Engine并轻松完成此任务。
https://stackoverflow.com/questions/4301429
复制相似问题