728x90
AbstractUser 모델 상속한 사용자 정의 User 모델 사용하기
개요
AbstractUser 모델을 상속한 User 모델을 만들어 settings.py에 참조를 수정해야 한다.
이 기법의 사용 여부는 프로젝트 시작 전에 하는 것이 좋다. 추후에 settings.AUTH_USER_MODEL 변경시 데이터베이스 스키마를 알맞게 재수정해야 하는데 사용자 모델 필드에 추가나 수정으로 끝나지 않고 완전히 새로운 사용자 객체를 생성하는 일이 된다.
이 기법은 기존 Django의 User 모델을 그대로 사용하므로 기본 로그인 인증 처리 부분은 Django의 것을 이용하면서 몇몇 사용자 정의 필드를 추가할 때 유용하다.
구현
#필요한 모듈 임포트
...
from django.contrib.auth.models import AbstractUser
#MyUser 만들기
class myuser(AbstractUser):
medium=models.CharField(default="medium", max_length=100)
...
위에서 AbstractUser에 medium을 추가하면 아래 Column 맨 오른쪽에 medium 이라는 열이 생깁니다.
OneToOneField 방식과 AbstractUser 방식의 차이점
OneToOneField 방식은 추가로 클래스를 생성하지만, AbstractUser 방식은 추가로 클래스를 생성하지 않습니다.
728x90
'Development > Django' 카테고리의 다른 글
[Django] User Model 확장 (6) - UserManager (0) | 2021.03.13 |
---|---|
[Django] User Model 확장 (5) - AbstractBaseUser 모델 상속한 사용자 정의 User 모델 사용하기 (0) | 2021.02.24 |
[Django] User Model 확장 (3) - User 모델과 OneToOneField의 프로필 테이블 추가하기 (0) | 2021.02.24 |
[Django] User Model 확장 (2) - 프록시 모델 사용하기 (0) | 2021.02.23 |
[Django] User Model 확장 (1) - 4가지 방법 (0) | 2021.02.23 |