如何从当月的应用程序引擎(Python)数据存储中获取记录?

如何从当月的应用程序引擎(Python)数据存储中获取记录?,python,google-app-engine,datetime,google-cloud-datastore,Python,Google App Engine,Datetime,Google Cloud Datastore,鉴于以下实体: class DateTest(db.Model): dateAdded = db.DateTimeProperty() #... 获取当月记录的最佳方法是什么?您可以尝试以下方法: import datetime now = datetime.datetime.now() DateTest.gql("WHERE dateAdded.month:1", now.month) 有几种方法可以做到这一点。例如,使用查询: import datetime from

鉴于以下实体:

class DateTest(db.Model):
    dateAdded = db.DateTimeProperty()
    #...

获取当月记录的最佳方法是什么?

您可以尝试以下方法:

import datetime
now = datetime.datetime.now()

DateTest.gql("WHERE dateAdded.month:1", now.month)

有几种方法可以做到这一点。例如,使用
查询

import datetime
from google.appengine.ext import db

q = db.Query(DateTest)

# This month
month = datetime.datetime.today().replace(day=1, hour=0, minute=0, second=0, microsecond=0)

q.filter('dateAdded >= ', month)
results = q.fetch(10)

GQL没有选择日期时间值的月份作为查询筛选器左侧的功能。谢谢Dan。我认为正确的月份赋值应该是:month=datetime.datetime.today().replace(day=1,hour=0,minute=0,second=0,microsecond=0)我在示例顶部添加了一个“from datetime import datetime”语句,而不仅仅是“import datetime”,因为我发现在导入datetime时通常会多次使用它。你的例子也很有用。:)@丹:这明显违反了谷歌风格指南。@Guido:是的,坏习惯。修正了上面的问题。@Danholevet你能帮我解决类似的问题吗