djangoで24時間前以降のデータを取ってきたい

djangoで24時間前以降のデータを取ってきたい

417

Djangoで24時間前以降のデータを取得するには、以下のようにクエリを実行します。

方法

datetimeモジュールをインポートして、現在時刻から24時間前の日時を計算します。
DjangoのORMでフィルタリングします。
以下の例は、モデル名が MyModel、日時フィールドが created_at という場合のサンプルコードです。

from datetime import datetime, timedelta
from django.utils.timezone import now  # タイムゾーン対応

# 現在時刻から24時間前を計算
time_threshold = now() - timedelta(hours=24)

# フィルタリングしてデータを取得
recent_data = MyModel.objects.filter(created_at__gte=time_threshold)

解説

created_at__gte は「指定した日時以上」を意味します。
now() を使用すると、Djangoのタイムゾーン設定を考慮した現在時刻を取得できます。
timedelta で24時間分の時間を引いて計算します。
注意
created_at フィールドは、通常 DateTimeField である必要があります。
タイムゾーンが正しく設定されていることを確認してください。タイムゾーンが適切でない場合、USE_TZ = True とし、TIME_ZONE を正しく設定してください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です