Ответ 1
Цитируется из документации по движку Google:
Совет. Фильтры запросов не имеют явного способа сопоставления только части строкового значения, но вы можете подделывать соответствие префикса с использованием фильтров неравенства:
db.GqlQuery("SELECT * FROM MyModel WHERE prop >= :1 AND prop < :2", "abc", u"abc" + u"\ufffd")
Соответствует каждому объекту MyModel с атрибутом string, который начинается с символов abc
. Строка unicode u"\ufffd"
представляет собой максимально возможный символ Юникода. Когда значения свойств сортируются в индексе, значения, которые попадают в этот диапазон, представляют собой все значения, начинающиеся с данного префикса.