読者です 読者をやめる 読者になる 読者になる

Yura YuLife

ITエンジニアの覚え書き

Djangoの初回マイグレーション時に relation "auth_user" does not exist というエラーが発生する場合

django python

環境

初回マイグレーション時のエラー

Djangoのプロジェクトをコピーしてきて、$ python manage.py migrate しようとすると、以下のようなエラーが発生した。

Synchronizing apps without migrations:
  Creating tables...
    Creating table app1_model1
    Creating table app2_model2

    ...

    Running deferred SQL...
Traceback (most recent call last):
  File "./manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)

  ...

django.db.utils.ProgrammingError: relation "auth_user" does not exist

どうも、自分で作ったModelの中でdjango.contrib.auth.models.Userへのリレーションを張っているのに、Userのテーブルがまだ作られていないことがマズいらしい。

ということで、先にauthマイグレーションを行うことで、この問題を回避できます。

$ python manage.py migrate auth
$ python manage.py migrate