CustomUserモデルに切り替えたときのエラーの対処法


django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency user.0001_initial on database 'default'.
このエラーが出て動かくなった場合の対処です

2か所コメントアウトが必要

画像1

プロジェクトフォルダのsettings.pyとurls.py

#***** settings.py ********

INSTALLED_APPS = [
   #'django.contrib.admin',
   'django.contrib.auth',
   'django.contrib.contenttypes',
   'django.contrib.sessions',
   'django.contrib.messages',
   'django.contrib.staticfiles',
   'accounts'
]
AUTH_USER_MODEL = 'accounts.CustomUser'

このINSTALLED_APPSの一番上の'django.contrib.admin',をコメントアウト
一番下にCutomUserモデルを定義しているアプリ(例ではaccounts)を入れるのを忘れずに
最後に認証で使うUSER定義を指定CustomUSERに変更

#*****  urls.py  *******

from django.contrib import admin
from django.urls import path
from django.urls.conf import include

urlpatterns = [
   #path('admin/', admin.site.urls),
]

urlpatternの
path('admin/', admin.site.urls),
をコメントアウト

これを省略している記事が結構あった

これをコメントアウトしないとadminなんてないよって怒られる
デフォルトの管理画面使わなかったりしてもともとなければ問題はない

これでカスタムユーザーモデルをmake Migrationしてマイグレートする

画像2

終わったらさっきコメントアウトしたところを戻してマイグレーションする

完了



この記事が気に入ったらサポートをしてみませんか?