NDB按DateTimeProperty的时间部分查询

时间:2015-09-05 19:32:16

标签: python google-app-engine datetime google-cloud-datastore app-engine-ndb

我需要查询在一天某个时间添加的项目,忽略哪一天。我只保存添加项目时的DateTime

datetime.TimeDateTimeProperty进行比较会产生错误,而DateTimeProperty则没有time()方法。

2 个答案:

答案 0 :(得分:2)

唯一的方法是将时间存储为单独的财产。一个int就可以了,你可以把它存储为秒。您可以明确地执行此操作(即在设置datetime的同时设置time属性,或使用computedproperty自动设置值。

答案 1 :(得分:0)

我遇到同样的问题(或多或少),我认为唯一的方法是构建我们自己的日期类模型。 像这样:

class Date(ndb.model):
   ...
   day = ndb.IntegerProperty()       
   month = ndb.IntegerProperty()
   year = ndb.IntegerProperty()             
   ...

class Anything(ndb.Model):
   ...
   dateTime = ndb.StructuredProperty(Date)
   ...

而不是:

class Anything(ndb.Model):
   ...
   dateTime = ndb.DateTimeProperty()
   ...

但我认为我们还应该有其他方法来做到这一点。

相关问题