Djangoで更新日の情報をモデルに追加する

2024年6月25日

了解しました。更新日時の情報をモデルに追加する際には、モデルに新しい updated_at フィールドを追加して、モデルのインスタンスが更新されるたびにそのフィールドを更新する必要があります。

以下は、updated_at フィールドを追加し、それを保存時に更新する Django モデルの例です。

python
from django.db import models
from django.utils import timezone

class RakutenItem(models.Model):
    # 他のフィールドを追加

    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

    def save(self, *args, **kwargs):
        self.updated_at = timezone.now()
        super().save(*args, **kwargs)

この例では、auto_now_add=True を使用して created_at フィールドに作成日時を自動的にセットし、auto_now=True を使用して updated_at フィールドに保存時に更新される日時をセットしています。save メソッドをオーバーライドして、保存の際に updated_at を更新しています。

この変更を行った後、updated_at フィールドを使って最新の30件を取得できるようになります。

未分類

Posted by ぼっち