Python

DjangoのCustomUserモデルを変更すると発生するエラーの解決

Djnagoでコーディングしているときに起きたエラーです。

Djangoにはユーザ管理を行うためにのUserモデルがはじめから搭載されていますが、そのクラスを継承したCustomUserモデルを作成し、それを代用した方がいいようです。

そこでaccountアプリを作り、accounts.CustomUserの設定を行ったところ、、、、

マイグレーションした時に以下のエラーが発生

Migration admin.0001_initial is applied before its dependency accounts.0001_initial on database ‘default’.

このエラーの原因は、マイグレーション前にすでに別のCustomUserモデルでマイグレーションしている為に起きているようです。※ユーザーモデルを変更する前にマイグレーションしているとこれが発生してしまうということになります。

解決法は単純

以下の手順で行えば解決できます。

手順1 以下2点の部分を”#”でコメントアウトする。

  ➀settings.py:「INSTALLED_APP」の’django.contrib.admin’

  ➁projectのurls.py:「urlpatterns」のpath(‘admin/’,admin.site.urls)

手順2 マイグレーションを行う

  一度マイグレーションを行っておくとエラーが消えます。

手順3 手順1で行ったコメントアウトを解除する(#を削除する)

手順4 再度マイグレーションする

これでCustomUserモデルを変更された状態でマイグレーションができます。

ABOUT ME
den
完全独学でWEBデザインを無謀にも挑戦している中年男。 工場勤務の会社員で3児の父。 チャレンジを忘れず、妻に怒られても心はおれず。 有益な情報を発信し、これを見ている人の為になればと思っています。
関連記事一覧