BadFilterError: filtro no válido: solo una propiedad por consulta puede tener filtros de desigualdad ( =, )

Estoy tratando de aplicar el filtro en dos propiedades diferentes pero GAE no me permite hacer esto, lo que será la solución, ahí está el código snipt:

if searchParentX : que.filter("parentX >=", searchParentX).filter("parentX =", searchParentY).filter("parentY <=", unicode(searchParentY) + u"\ufffd") 

La solución sería hacer un filtrado en memoria:

  1. Puede ejecutar dos consultas (filtrando en una propiedad cada una) y hacer una intersección con los resultados (dependiendo del tamaño de los datos, es posible que deba limitar sus resultados para una consulta pero no la otra para que quepa en la memoria)
  2. Ejecute una consulta y filtre la otra propiedad en la memoria (en este caso sería beneficioso si sabe qué propiedad devolverá una lista más filtrada)

Alternativamente, si sus datos están estructurados de tal manera que pueda dividir los datos en conjuntos, puede realizar filtros de igualdad en ese conjunto y finalizar el filtrado en la memoria. Por ejemplo, si está buscando cadenas pero sabe que las cadenas tienen una longitud fija (por ejemplo, 6 caracteres), puede crear un campo de “búsqueda” con los caracteres de 4/4. Luego, cuando necesite buscar en este campo, hágalo coincidiendo con los primeros caracteres y finalice la búsqueda en la memoria. Otro ejemplo: al buscar rangos enteros, si puede definir una agrupación común de rangos (por ejemplo, décadas por un año o rangos de precios), entonces puede definir un campo de “rango” para realizar búsquedas de igualdad y continuar con el filtrado en la memoria.

Los filtros de desigualdad se limitan a una propiedad como máximo, creo que esta restricción se debe a que los datos en bigtable se almacenan en forma léxica ordenada, por lo que en un momento solo se puede realizar una búsqueda

https://developers.google.com/appengine/docs/python/datastore/queries#Restrictions_on_Queries