考虑下面的实体:如何在App Engine(Python)Datastore中获取当月的记录?
class DateTest(db.Model):
dateAdded = db.DateTimeProperty()
#...
什么是从当月获得记录的最好方法?
考虑下面的实体:如何在App Engine(Python)Datastore中获取当月的记录?
class DateTest(db.Model):
dateAdded = db.DateTimeProperty()
#...
什么是从当月获得记录的最好方法?
有你可以做到这一点的几种方法。例如,使用Query
:
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)
你可以尝试这样的:
import datetime
now = datetime.datetime.now()
DateTest.gql("WHERE dateAdded.month:1", now.month)
GQL没有功能可以选择时间值中的月份,用作一个查询过滤器的左手侧。 – 2012-07-24 01:25:15
感谢丹。我认为月的正确分配应该是:month = datetime.datetime.today()。replace(day = 1,hour = 0,minute = 0,second = 0,microsecond = 0) – Lucas 2012-07-24 01:45:59
我添加了'from datetime import datetime'语句而不是“import datetime”,因为我发现我通常在导入日期时使用datetime。你的例子也适用。 :) – 2012-07-24 01:52:48
@丹:这明显违背了谷歌风格指南。 – 2012-07-24 17:06:01