あなたはユーザーモデルデータをカスタマイズする前に、Djangoは解決BUGが移行されました

あなたはユーザーモデルデータをカスタマイズする前に、Djangoは解決BUGが移行されました

Djangoは最初のデータベースの移行が設定される前にAUTH_USER_MODELパラメータがなければなりませんため、我々はそうでない不明なエラーがその後の使用を発生することがあり、設定されていることを示唆しました。

したがって、カスタム・ユーザー・モデルは、後に、実行するpython manage.py migrate次のように与えられたシステムのようなコマンドを、。

django.db.migrations.exceptions.InconsistentMigrationHistory: Migration reversion.0001_squashed_0004_auto_20160611_1202 is applied before its dependency users.0001_initial on database 'default'.

これは、元のモデル廃止されたユーザーを使用して、サブアプリケーションの復帰と呼ばれる男ですが、今のデータベースは、デフォルトのサブアプリケーションとして設定されているusersモデル、およびその葛藤がありました。この競合のために、我々は解決するには、ファイルとデータベースを移行するために、元の情報のすべてをクリアする必要があります。

解決の手順:

  1. バックアップデータベース、ユーザーに関する元のテーブル構造とデータテーブル情報を削除する(あなただけの開発に着手している場合は、データベーステーブルに直接データをすべて消去)

    drop database renran;
    create database renran charset=utf8mb4;    -- 一定要指定编码!!!
  2. 下の移行ディレクトリに加えて、[削除]サブアプリケーションのユーザー、__init__.py以外のすべての移行済みのファイルの

  3. 削除django.contrib.adminおよびdjango.contrib.authに加えて、移行の移行ファイル内のブロック__init__.py

  4. に加えて、[削除xadminと復帰モジュールの移行移行ファイル、 __init__.py

  5. すべてのユーザーに加えて、データの移行、データのバックアップは、実行を再開することができます

  6. 通常の使用manage.py createsuperuser管理者の缶を作成します

もちろん、あなたも、データベースをクリアする仮想環境を削除し、車輪の再発明をするために、仮想環境を再構成することができます。

おすすめ

転載: www.cnblogs.com/shuoliuchina/p/12521604.html