Я хочу иметь что-то вроде
Два способа, как указано в документах (http://code.google.com/appengine/docs/python/datastore/queries.html и http://code.google.com/appengine/docs/python/datastore/gqlqueryclass.html)as Я понял:
filter_trips = db.GqlQuery( "SELECT ключ) FROM Trips WHERE (start_time < =: start_time_input AND end_time > =: start_time_input) ИЛИ (start_time < =: end_time_input AND end_time > =: end_time_input ) OR (start_time > =: start_time_input AND end_time < =: end_time_input)", start_time_input = start_time_input, end_time_input = end_time_input)
error: Ошибка анализа: неверный идентификатор WHERE в символе (
ИЛИ
filter_trips = db.GqlQuery( "SELECT ключ) FROM Trips WHERE start_time < =: start_time_input <= end_time OR start_time < =: end_time_input <= end_time OR (: start_time_input <= start_time AND end_time < =: end_time_input)", start_time_input = start_time_input, end_time_input = end_time_input)
error: Parse Error: не ожидается никаких дополнительных символов в символе < =
Пожалуйста, помогите!
GQL не имеет OR. См. http://code.google.com/appengine/docs/python/datastore/gqlreference.html
Вам нужно будет сделать это как несколько запросов.
("SELECT __key__ FROM Trips WHERE start_time <= :start_time_input <= end_time" , start_time_input = start_time_input , end_time_input = end_time_input )
также дает мне BadQueryError: Ошибка разбора: ожидается, что в символе нет дополнительных символов <=