2016-05-31 13 views
-1

ユーザーのために新しいmodel.py独自のログインと管理を作成することをお勧めしますか? Djangoを提供するユーザモデルにフィールドを追加する方が好きですか?Djangoのユーザー管理

私は、ID番号、生年月日、メールアドレス、開催場所などの特定のパラメータを持つユーザーのテーブルを用意したいと思いますが、Djangoを提供するユーザーを変更するか、新しいモデルを作成するかはわかりません。

お勧めですか?

+0

可能な重複[ジャンゴ - ユーザーフォームのための余分なフィールド](http://stackoverflow.com/questions/24945440/django-extra-fields-for-user-form)HTTPSをチェックアウトする必要があります –

+0

: //docs.djangoproject.com/ja/1.9/topics/auth/customizing/#extending-the-existing-user-model – slider

答えて

1

私は、ユーザーフィールドフィールドがユーザーインスタンスでOneToOneFieldのリアクションを持つプロファイルモデルを作成する方が良いと思います。

from django.conf import settings 
. 
. 

class Profile(models.Model): 
    user=models.OneToOneField(settings.AUTH_USER_MODEL)#creates onetoone relationship with the user model 
    IdNo=models.PositiveIntegerField() 
    email=models.EmailField() 
    date_of_birth=models.DateField("DOB",help_text="YYYY-MM-DD",blank=True,null=True) 
    def __unicode__(self): 
     return '{} Profile'.format(self.user.username) 
0

Djangoの認証パッケージは明確で堅牢です。オリジナルのDjangoのモデルをUserに使用することを強くお勧めします。

ただし、Userモデルに余分なフィールドを追加するには、ユーザーを外部キーを使用してUserモデルに照会して、独自のモデルをカスタマイズできます。