我有这个数据存储模型:
class Person(db.Model):
person_name = db.StringProperty(required = True)
nacionality = db.StringProperty(required = True)
marital_status = db.StringProperty(required = True)
profession = db.StringProperty(required = True)
SSN = db.IntegerProperty(required = True)
driver_license = db.IntegerProperty(required = True)
address = db.PostalAddressProperty(required = True)
在此模型中,person_name 可能是这样的:“Carl Sagan”(整个名称仅存在于属性中)。但是当我查询它时,这样:
searched_name = 'Carl'
p = Person.all()
persons = p.filter('person_name >=', searched_name)
结果,我得到的名字不以“卡尔”开头,或者名字的任何部分都没有“卡尔”。如果我这样查询:persons = p.filter('person_name >=', searched_name)
我没有得到任何结果(甚至没有找到“卡尔·萨根”)。所以,我想知道:这种查询的最佳过滤器是什么? (仅使用名字查询完整的名称属性)?
字符串过滤器的工作原理是比较从字符串开头开始的字符。你可以这样做:
p.filter('person_name >=', searched_name)
p.filter('person_name <', searched_name + u'\ufffd')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)