GQL에서 지난 6 시간 (DateTime)의 모든 항목을 쿼리하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/994187

  •  13-09-2019
  •  | 
  •  

문제

날짜 필드가있는 Google App Engine에 간단한 테이블이 있습니다. 지금과 6 시간 전에 날짜 필드로 모든 행을 쿼리하고 싶습니다. 이 쿼리를 어떻게 형성합니까?

도움이 되었습니까?

해결책

SELECT * FROM simpletable
WHERE datefield < DATETIME(year, month, day, hour, minute, second)

애플리케이션 코드에서 해당 연도, 월, & C 계산.

다른 팁

나는 당신이 GQL이라고 말하지만 여기에 내가 사용하는 Python 도우미 기능이 있습니다.

import datetime
def seconds_ago(time_s):
    return datetime.datetime.now() - datetime.timedelta(seconds=time_s)

더 간결한 방법이있을 수 있습니다. 저는 파이썬 전문가가 아니며 첫 번째로 효과가있는 일과 함께갔습니다. 주의를 기울이면 DateTime 문서를 살펴보십시오. 다음과 같이 사용됩니다.

my_query = MyTable.all().filter("date >", seconds_ago(6*60*60))

나는 그것이 귀찮게하지 않고 GQL로 번역 될 수 있다고 확신하지만 객체 지향 인터페이스를 선호하며 필요한 DateTime 구문을 모릅니다.

파이썬에서 쿼리는 다음과 같이 사용됩니다.

# get a count
my_query.count()
# get up to 1000 records
my_query.fetch(1000)
# iterate over up to 1000 records
for result in my_query:
    # do something with result
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top