タグ: 日本で一番年配のオヤジプログラマー

  • Copilotに質問(5)

    django created_atから年、月、日を抽出するという簡単な質問

    Copilotの回答:

    1. Django ORMの annotate を使う
      Djangoの annotate を使えば、クエリ内で直接日付情報を抽出できます。

    python
    from django.db.models.functions import ExtractYear, ExtractMonth, ExtractDay

    queryset = YourModel.objects.annotate(
    year=ExtractYear(‘created_at’),
    month=ExtractMonth(‘created_at’),
    day=ExtractDay(‘created_at’)
    )

    for obj in queryset:
    print(obj.year, obj.month, obj.day)
    📌 ポイント

    ExtractYear, ExtractMonth, ExtractDay を使うと、DBから直接値を取得できる。

    DBの負荷を減らし、効率よくデータを取得できる。

    1. Pythonの datetime モジュールを使う
      Django ORMで取得後に datetime モジュールを使って処理する方法もあります。

    python
    from datetime import datetime

    obj = YourModel.objects.first() # 最初のレコードを取得
    created_at = obj.created_at

    year = created_at.year
    month = created_at.month
    day = created_at.day

    print(year, month, day)
    📌 ポイント

    created_at.year, created_at.month, created_at.day で簡単に取得可能。

    ORMでフィルタ後に処理する場合に便利。

    忘れがちな文法は、Copilotに気軽に聞いたほうが検索エンジンより効率がよさそう!!

    いまココぼっちというマッチングアプリを2025年5月にリリースします!