2011-11-30 2 views
0

Google App Engine Datastore를 사용하는 데 문제가 있습니다. datetime 종류의 gae 데이터 저장소에서 지정된 분 수를 쿼리하는 방법은 무엇입니까? 예 : "xx : 20 : xx"

내 DB 클래스 :

class pm25(db.Model): 
    pttime=db.DateTimeProperty() 

데이터 저장소 : XXXX-XXXX XX :

pttime 
2011-11-01 12:00:00 
2011-11-01 12:20:00 
2011-11-02 08:00:00 
..... 

내가 뭘 원하는 것은 어떤 시간에 어떤 hour.eg 지난 20 엔티티를 얻을 수 있습니다 : 20 : XX 어떻게이 gql을 작성하나요? 분 색인이되지 않기 때문에 사전 ofive

답변

3

이 쿼리에

덕분에, 위의 모델 수 없습니다. 이를 수행하려면 쓰기 시간에 분을 명시 적으로 저장해야합니다. 당신은 DerivedProperty 쉽게이 작업을 수행 할 수 있습니다 이러한 변화와

class pm25(db.Model): 
    pttime = db.DateTimeProperty() 
    pttime_minute = DerivedProperty(lambda self: self.pttime.minute) 

, 당신은 다른 정수처럼 pttime_minute을 조회 할 수 있습니다.

+0

링크에서 매우 멋진 것들. 희망의 일부 기능을 GAE에 넣으십시오. –

+0

그것은 작동 중입니다. 데이터 저장소 API의 다음 버전에는 [ndb] (http://code.google.com/p/appengine-ndb-experiment/)에 ComputedProperty가 있습니다. –

+0

기존 db API에는 ComputedProperty가 있습니다. –

관련 문제