skip to content
barorin&?

Djangoで基本的なポストモデルを作成してみる

/ 1 min read

はじめに

Djangoで基本的なポストモデルを作成してみましょう。

方法

ライブラリのインストール

$ pip install django-currentuser

# ついでにuuidを作成できるライブラリも
$ pip install ulid-py

ミドルウェアとして登録

# settings.py
MIDDLEWARE = [
    ...
    "django_currentuser.middleware.ThreadLocalUserMiddleware", # 追加(django-currentuserの設定)
]

モデルの作成

# models.py
from django_currentuser.db.models import CurrentUserField
from django.db import models

class Posts(models.Model):
    id = models.CharField(primary_key=True, default=ulid.new, max_length=26, editable=False)
    created_by = CurrentUserField(verbose_name="作成者", related_name="create_customer")
    created_at = models.DateTimeField(verbose_name="作成日時", auto_now_add=True)
    updated_by = CurrentUserField(verbose_name="更新者", related_name="update_customer", on_update=True)
    updated_at = models.DateTimeField(verbose_name="更新日時", auto_now=True)

参考

Django 作成者 作成日時 更新者 更新日時を管理する