1. ホーム
  2. django

[解決済み] djangoでは、モデルにはデフォルトのタイムスタンプフィールドがあるのでしょうか?

2022-11-21 16:06:06

質問

django では、すべてのオブジェクトにデフォルトのタイムスタンプフィールドがあるのでしょうか?つまり、モデルで 'created on' のための 'timestamp' フィールドを明示的に宣言しなければならないのでしょうか - それとも、これを自動的に取得する方法があるのでしょうか?

どのように解決するのですか?

デフォルトではそのようなものはありませんが、追加するのは超簡単です。単に auto_now_add パラメータを DateTimeField クラスで使用されます。

created = models.DateTimeField(auto_now_add=True)

また auto_now を 'updated on' フィールドに使うこともできます。 の動作を確認してください。 auto_now ここで .

については auto_now_add ここで .

両方のフィールドを持つモデルは、以下のようになります。

class MyModel(models.Model):
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)