14

Google App Engine に日付フィールドを持つ単純なテーブルがあります。現在から 6 時間前までの日付フィールドを含むすべての行をクエリしたいと考えています。このクエリを作成するにはどうすればよいですか?

4

2 に答える 2

18

あなたが GQL と言っているのは知っていますが、私が使用する Python ヘルパー関数は次のとおりです。

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

もっと簡潔な書き方があるかもしれません。気になる場合は、日時のドキュメントをご覧ください。次のように使用されます。

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
于 2009-06-15T01:22:35.020 に答える
13
SELECT * FROM simpletable
WHERE datefield < DATETIME(year, month, day, hour, minute, second)

これらの年、月、&c をアプリケーション コードで計算します。

于 2009-06-15T01:13:34.510 に答える