【发布时间】:2016-10-14 16:01:18
【问题描述】:
我正在创建一个应用程序,在任何一天,每天只能创建一个实体。这是模型:
class MyModel(ndb.Model):
created = ndb.DateTimeProperty(auto_now_add=True)
由于每天只允许创建一个实体,我们需要将 MyModel.created 属性与今天的日期进行比较:
import datetime
class CreateEntity(webapp2.RequestHandler):
def get(self):
today = datetime.datetime.today()
my_model = MyModel.query(MyModel.created == today).get()
if my_model:
# print("Today's entity already exists")
else:
# create today's new entity
问题是我无法像这样比较两个日期。如何检查实体是否已在“今天”创建?
【问题讨论】:
-
为什么不能像这样比较两个日期?您收到错误消息吗?
-
@TammoHeeren,一个新创建的数据时间对象每秒都包含一个不同的
seconds值,因此比较几乎总是返回 false。为了解决这个问题,我最终使用了DateProperty而不是DateTimeProperty(请参阅下面我自己的答案)。
标签: python google-app-engine datetime google-cloud-datastore app-engine-ndb