2009-02-03 12 views

回答

8

从文档报价:

提示:查询过滤器没有一个明确的方式来匹配只是一个字符串值的一部分,但你可以伪造一个前缀匹配使用不等式过滤条件:

db.GqlQuery("SELECT * FROM MyModel WHERE prop >= :1 AND prop < :2", "abc", u"abc" + u"\ufffd") 

这将每个MyModel实体与一个以字符abc开头的字符串属性prop匹配。 unicode字符串u“\ ufffd”表示最大可能的Unicode字符。当属性值在索引中排序时,落在此范围内的值都是以给定前缀开头的所有值。

http://code.google.com/appengine/docs/python/datastore/queriesandindexes.html

另一种选择是SearchableModel,但是,我不认为它支持部分匹配。

http://billkatz.com/2008/8/A-SearchableModel-for-App-Engine

相关问题