2016-02-08 78 views
2

我想要做的是,我使用ndb模型作爲我的數據庫,並且我有一個具有DateTimeProperty()屬性的模型。 現在我想要的是我想要獲取特定年份和特定月份的所有記錄。按年份和月份在ndb模式中篩選

class Photo(ndb.Model): 
    userid = ndb.StringProperty() 

    source = ndb.StringProperty() 
    handle = ndb.StringProperty() 
    sourceid =ndb.StringProperty() 


    viewedCount = ndb.IntegerProperty(default=0) 
    likedCount = ndb.IntegerProperty() 
    uploadedOn = ndb.DateTimeProperty() 
    latitude = ndb.FloatProperty(default=0) 
    longitude = ndb.FloatProperty(default=0) 

我有一個字段uploadedOn有dateTime屬性。

查詢會是這樣(我)獲取的所有記錄2012年(二)提取記錄一月

的一個月我都在格式 「uploadedOn」值:「2014-12-27T11:57:01 「

+0

你想兩個查詢,一個是一年,另一個是一個月? – doru

回答

0
import datetime 
from_date = datetime.datetime(2015,11,30) 
until_date = datetime.datetime(2016,1,1) 
    Photo.query(ndb.AND(Photo.uploadedOn>from_date, Photo.uploadedOn<until_date)) 
+0

無法顯示語法錯誤。 你能告訴我使用int_filter_year和int_filter_month嗎 – abhishek

+0

Python日期對象有一個「年」屬性是一個int,所以uploadedOn.year應該是2016年。一個子句是否有效?嘗試Photo.query(Photo.uploadedOn.year = 2016)?編輯答案 –

+0

它顯示語法錯誤,如:來自導入的未定義變量:年份 – abhishek

0

你可以這樣做:

import datetime 

date_wanted = datetime.datetime(2014, 12, 27) 
photo = Photo.query().filter(Photo.uploadedOn==date_wanted).fetch() 
+0

謝謝你的回覆 我認爲你的查詢只能找到那天的條目如果我想要2014年的所有條目,那麼我的查詢結構是什麼? 整個月是一樣的嗎? 你能幫我解決嗎? – abhishek