У меня есть ListProperty в объекте, который содержит два объекта времени, которые представляют время открытия и закрытия бизнеса для дня недели:
mon_hours = db.ListProperty(datetime.time)
tue_hours = db.ListProperty(datetime.time)
wed_hours = db.ListProperty(datetime.time)
thu_hours = db.ListProperty(datetime.time)
fri_hours = db.ListProperty(datetime.time)
sat_hours = db.ListProperty(datetime.time)
sun_hours = db.ListProperty(datetime.time)
Когда я запрашиваю эту сущность, используя текущее время и цепочку, фильтры должным образом возвращают только записи, у которых время списка больше или меньше, он завершается с 0 результатами:
now = datetime.datetime.now()
q = Place.all()
q.filter('mon_hours <=', now.time()).filter('mon_hours' >=', now.time())
Однако, когда я удаляю один из фильтров, он возвращает результаты, добавляя неправильные:
now = datetime.datetime.now()
q = Place.all()
q.filter('mon_hours <=', now.time())
Когда я вручную устанавливаю минуты на 00, это работает по какой-то причине:
q = Place.all()
q.filter('mon_hours <=', datetime.datetime(1970,1,1,10,00).time()).filter('mon_hours' >=', datetime.datetime(1970,1,1,10,00).time())
Этот последний запрос является желаемым результатом, но время должно быть текущим временем с произвольными минутами.
WTF?!