Navigation

Related Articles

Back to Latest Articles

DjangoでDateTimeFieldが今日のデータを取得する方法


press
DjangoでDateTimeFieldが今日のデータを取得する方法

Djangoのモデル上でDateTimeField型のデータが今日の日付のデータを取得する方法です。

1つ目
00:00:00から23:59:59までの範囲を条件に取得します。

from datetime import date, datetime
from post.models import Post


# Create your views here.
def query_test(request):
    today = date.today()
    today_start_str = str(today) + ' 00:00:00'
    today_start = datetime.strptime(today_start_str, '%Y-%m-%d %H:%M:%S')

    today_end_str = str(today) + ' 23:59:59'
    today_end = datetime.strptime(today_end_str, '%Y-%m-%d %H:%M:%S')

    post = Post.objects.filter(created_at__range=(today_start, today_end))

2つ目
今日の日付が含まれるものを条件に取得します。

from datetime import date
from post.models import Post


# Create your views here.
def query_test(request):
    post = Post.objects.filter(created_at__icontains=date.today())

3つ目
日付が今日と一致するものを条件に取得します。

from datetime import date
from post.models import Post


# Create your views here.
def query_test(request):
    post = Post.objects.filter(created_at__date=date.today())

3番目が一番スマートで分かりやすいです。


当ブログは群馬県でPython / Djangoを中心にウェブアプリケーションを開発している株式会社ファントムが運営しています。

株式会社ファントムへのお問い合わせ




Show Comments (0)

Comments

Related Articles

Django

DjangoとChannelsで簡単なチャットサーバーを構築(3)

前回からの続きです。 チャンネルレイヤーを有効化 チャンネルレイヤーを使用するためにバックエンドにRedisを使用します。Redisを使用するためにDockerを起動します。 以下のコマンドを実行してRedisを起動しま […]

Posted on by press
Python

生成したリスト同士を計算する方法

リストをループで生成してリスト同士を計算する方法です。サンプルでは、[0, 1, 2, 3, 4]のリストを3個生成して計算します。 loopOneで3を代入しているのでリストを3回計算します。loopTwoで5を代入し […]

Posted on by press