考慮下面的實體:如何在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