2009-08-05 1 views
0

나는 모델을 좋아하지 않지만, 사용자이지만 관리자보기가 마음에 들며 응용 프로그램에서 관리자보기를 유지합니다.덮어 쓰기하는 방법 사용자 모델

모델 오버 오버 방법. 사용자. 다음과 같이 설정하십시오.

from django.contrib.auth.models import User 

class ShugeUser(User) 
    username = EmailField(uniqute=True, verbose_name='EMail as your 
username', ...) 
    email = CharField(verbose_name='Nickname, ...) 

User = ShugeUser 

답변

4

지금은 불가능합니다. 이메일 주소를 사용자 이름으로 사용하려면 custom auth backend을 작성하여 사용자 이름/비밀번호 조합 (예 : here의 djangosnippets.org의 사례) 대신 이메일/비밀번호 조합이 올바른지 확인하십시오.

더 많은 것을 원한다면 꽤 오랫동안 장고를 해킹하거나 장고 사용자 모델의 하위 클래스를 지원할 때까지 기다려야 할 것입니다. (장고 사용자 메일 링리스트의 this conversation에 따르면 장고 1.2, 그러나 그것에 의지하지 마십시오).

0

위의 답변은 좋으며 여러 사이트에서 성공적으로 사용하고 있습니다. 많은 사람들이 User 모델을 변경하여 더 많은 정보 필드를 추가하려고한다고 지적하고 싶습니다. 이는 contrib 관리 모듈에 내장 된 사용자 프로파일 지원으로 조정할 수 있습니다.

사용자 개체의 get_profile() 메서드를 사용하여 프로필에 액세스합니다.

관련 문서가 있습니다. here.