В движке Google у меня есть следующий запрос, чтобы найти всех пользователей с заданным именем.
Когда я набираю «Ми», он перечисляет мне все «Майкл» и «Майк» в базе данных.
class User(UserMixin, ndb.Model):
firstname = ndb.StringProperty()
data = User.query(ndb.AND(User.firstname >= name_startsWith, User.firstname <= name_startsWith + u'\ufffd')).fetch(5)
Я хотел бы сделать его инвариантным, чтобы я мог набрать «ми», и он по-прежнему выводит те же имена.
Я попробовал lower()
в Python, но это не работает с StringProperty()
движка приложения.
data = User.query(ndb.AND(User.firstname.lower() >= name_startsWith.lower(), User.firstname.lower() <= name_startsWith.lower() + u'\ufffd')).fetch(5)
Выдает ошибку:
AttributeError: объект «StringProperty» не имеет атрибута «нижний»