2014-09-21 1 views
0

dhango의 auth.models.User를 확장하는 제 방법이 맞습니까? AbstractUser 또는 User에서 상속해야합니까? 여기에 지금 구현하는 방법이 있습니다 : 그러나 OneToOneField UserProfile에서 사용자 테이블에 연결하는 데 고려해야합니까? 당신이 제공 장고 기존 사용자 모델을 변경해야하고 나는 그것을 필요 코드에 아무것도 표시되지 않는 경우에만 AbstractUser에서 상속더 많은 속성으로 django auth.models.User 확장하기

from django.contrib.auth.models import User 

PHONE_LENGTH = 13 
NAME_LENGTH = 100 


########################### 
### User Profile 
########################### 
class UserProfile(User): 
    """ inherits from AbstractUser in Django - mainly used for authentication""" 
    # other fields here 
    phone = models.CharField(max_length=PHONE_LENGTH) #optional 
    mobile = models.CharField(max_length=PHONE_LENGTH) #requried 

    # foreign key 
    subscription_type = models.ForeignKey(SubscriptionType) 

    def __str__(self): 
     return "%s's profile" % self.user 

답변

2

.

사용자 이외의 것을 상속한다고 생각하지 않는 것이 좋습니다. 평소와 같이 models.Model에서 상속하고 OneToOneField를 User에 지정해야합니다.

자세한 내용은 온라인 설명서를 참조하십시오. http://www.tangowithdjango.com/book/chapters/login.html

관련 문제