Pocket

Djangoでアプリケーションを作成する時には、アプリと呼ばれる単位で機能を実装していくことになります。

python3 manage.py startapp アプリ名

このようなコマンドでアプリを追加していくのですが、ユーザー認証用にアプリを作った時に『account』という名称でアプリを作ると、モデルをマイグレーションする時にエラーになってしまいました。

予約語か同名のパッケージが存在しているのかでエラーになっていたようですが、それと分かるようなメッセージでは無く、少しハマったので、そのメモです。

対応としてはアプリ名を『accounts』と複数形のsを付けてエラーを回避するようにしました。

具体的には上記アプリ作成のコマンドで自動生成されたフォルダ名をリネームするのと、settings.pyなどのファイルに記載されているアプリ名に関連している箇所を書き換えをしました。

あと、今回は初回マイグレーションの時にエラーになったので必要なかったのですが、そのアプリのモデルをマイグレーションした後にアプリ名を変更する場合は、おそらくマイグレーションファイルも変更しないといけないと思うので、今度また試してみます。

Pocket

この記事が気に入ったら
フォローしよう

最新情報をお届けします

Twitterでフォローしよう

おすすめの記事