ドキュメントから:
ユーザーに関連する追加情報を保存したい場合、Djangoは、この目的のために、「ユーザープロファイル」と呼ばれるサイト固有の関連モデルを指定する方法を提供します。
この機能を利用するには、保存する追加情報または使用できる追加メソッドのフィールドを使用してモデルを定義し、モデルからUserモデルにOneToOneFieldという名前のユーザーを追加します。これにより、ユーザーごとにモデルのインスタンスを1つだけ作成できるようになります。例えば:
from django.contrib.auth.models import User
class UserProfile(models.Model):
# This field is required.
user = models.OneToOneField(User)
# Other fields here
accepted_eula = models.BooleanField()
favorite_animal = models.CharField(max_length=20, default="Dragons.")
このモデルが特定のサイトのユーザープロファイルモデルであることを示すには、設定AUTH_PROFILE_MODULEに、ドットで区切られた次の項目で構成される文字列を入力します。
- ユーザープロファイルモデルが定義されているアプリケーションの名前(大文字と小文字を区別)(つまり、アプリケーションを作成するためにmanage.py startappに渡された名前)。
- モデル(大文字と小文字を区別しない)クラスの名前。
たとえば、プロファイルモデルがUserProfileという名前のクラスであり、accountsという名前のアプリケーション内で定義されている場合、適切な設定は次のようになります。
AUTH_PROFILE_MODULE = 'accounts.UserProfile'