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