2

Django でカスタム ユーザー モデルを作成したところ、問題なく動作しました。しかし、プロジェクトが稼働した後、自分のニーズに合わせてカスタム モデルを作成することにしました。

その結果、スキーマを移行する必要があります (現在、ユーザーを登録するとき、コードはまだauth_userデータベース テーブルを参照していますが、新しいカスタム ユーザー テーブルはuserです)。

を に設定しAUTH_USER_MODELましsettings.pyuserapp.Useruserappはカスタム ユーザー アプリで、Userはモデルから継承するAbstractUserモデルです。

私はDjangoにかなり慣れていないので、これを達成する方法を理解できません。データベースをクリーン インストールする明白な方法の 1 つは、すべてのデータが削除されるため、私が実行しようとしているものではありません。

その場合、どうすれば移行できますか? が使われていると聞いたことSouthがありますが、使い方がわかりません。Southまた、最近のバージョンの Django では必要ないと思います。

私のバージョンの Django は1.8.2.

4

1 に答える 1

0

私は最近これを行いました -データ移行を使用して 2 つのモデル間を移動しました。大まかな手順:

  1. 新しいユーザー モデルを作成し (Django に通知せずに)、移行を作成/適用してデータベース テーブルを作成します。
  2. 新しいユーザー モデルにデータをコピーするためのデータ移行を記述します。次に、この移行を実行し、新しいモデルを使用するように Django を更新します
  3. auth_userこれで切り替えが完了し、必要に応じて古いテーブルを削除/アーカイブできます
于 2015-06-28T14:52:36.750 に答える