私は自分の User モデルをあまり気にせずに Django Web アプリケーションを作成してきました。提供されたモデルは優れていましたが、どうにかしてカスタマイズできるようにしたいことに気付きました。
カスタム ユーザー モデルをゼロから作成するのは非常に簡単に見えますが、既存のユーザーを維持しながらモデルに移行するのは少し難しく、多くの問題を抱えています。特別なパッケージを使用し、私の正確な状況 (Django 1.8、Python 3.4) の段階的な手順が記載されているこのガイドを見つけました。
準備手順の 1 つは、
プロジェクト (サードパーティ ライブラリを含む) のどこでも、"auth.User" と django.contrib.auth.models.User ではなく、AUTH_USER_MODEL と django.contrib.auth.get_user_model() を使用していることを確認する必要があります。
私のプロジェクトはそれほど複雑ではありません.User モデルへの唯一の参照は、ForeignKeys と User オブジェクトを取得するいくつかの行にあります。
django.contrib.auth.get_user_model() はどこで使用すればよいですか? 私の印象では、ForeignKeys は settings.AUTH_USER_MODEL と任意のランタイム操作を使用する必要があります (たとえば、 でobj = User.objects.get(<criteria>)
設定User
しget_user_model()
ます。それは正しいですか?
現在、AUTH_USER_MODEL 設定は次のようになっています。
AUTH_USER_MODEL = User
django.contrib.auth.models.User
の上部に をインポートして、中間ステップとしてsettings.py
.
設定を使用するようにモデルを切り替えようとしました:
class League(models.Model):
name = models.CharField(max_length=100)
users = models.ManyToManyField(settings.AUTH_USER_MODEL)
ただし、サーバーを起動すると、エラーが発生し続けますsettings.py
raise ImproperlyConfigured("The SECRET_KEY setting must not be empty.")
django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.
ここで何が間違っていますか?SECRET_KEY の設定が空ではないので、設定に別のエラーがあると思います。