С вашей текущей схемой и текущим API хранилища данных вы не можете достичь этого одним запросом.
Если 'glam', 'casual' и 'speech' являются взаимоисключающими, вы можете использовать IN
запрос по одному полю:
class Item(db.Model):
...
tag = db.StringProperty()
query.filter("tag IN", ["glam", "speaking"])
Вы также можете использовать экспериментальный Datastore Plus API и выполнить запрос ИЛИ (который реализуется путем внутреннего объединения результатов двух запросов).:
# Note: Your model must be a Datastore Plus model; this may require some restructuring!
q1 = query.filter("glam =", "glam")
q2 = query.filter("speaking =", "speaking")
for result in q1.OR(q2):
....
Обратите внимание, что API datastore plus все еще находится в разработке, поэтому я не уверен, что эти запросы выполняются параллельно , но пока , но в конечном итоге они должны быть выполнены.Кроме того, поскольку API Datastore Plus все еще находится в стадии эксперимента и находится в стадии разработки, вам может потребоваться изменить код в ответ на изменение API.Вы можете контролировать, когда эти обновления происходят, хотя бы.