我在一个实体中有 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())
最后一个查询是所需的结果,但时间需要是当前时间和任意分钟。
怎么回事?!