GQLで過去6時間(日時)からすべてのエントリを照会するには?
-
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)
うまくそれを書くために、より簡潔な方法があるかもしれません:私は、Pythonの専門家ではないし、働いていた最初のものと一緒に行きました。あなたが気にしている場合、日時のドキュメントを見てみましょう。それは、このように使われています:
my_query = MyTable.all().filter("date >", seconds_ago(6*60*60))
私はあまりせずにGQLに変換することができると確信している気が、私はオブジェクト指向のインターフェイスを好む、と私は必要なDATETIME構文を知らない。
Pythonでのクエリは、このように使用されます
# 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
所属していません StackOverflow