User customizing

Jaeyeon·2021년 7월 29일
0

User 상속
필드가 너무 과하다.

AbstractUser 모델 상속 추천

  • 기존 Django의 User 모델을 그대로 사용한다.
  • 기본 로그인 인증 처리 부분은 Django의 것을 이용하면서 몇몇 필드를 추가할 때 유용하다.

AbstractBaseUser상속

  • 로그인 방식 변경 가능(이메일 주소로 로그인 또는 인증 절차 직접 구현)
  • 가장 자유도가 높음

settings.py 에서 User를 사용한다고 명시해야 함
AbstractBaseUser는 명시할 필요 없지만 AbstractUser는 명시해야한다.

앱이름.클래스명
ex: user.User
- BaseUserManager

    User 를 생성할 때 사용하는 헬퍼 클래스

    모델을 관리하는 클래스

    user 생성할 때의 행위를 지정

    모든 django model 들은 Manager 를 통해서 QuerySet 을 받는다. DB에서 query를 처리할 때,  Manager 를 무조건 거쳐야 한다. 
- AbstractUser

    실제 모델이 상속받아 생성하는 클래스

    반드시 objects 값을 통해 헬퍼 클래스를 지정해야한다.

objects : 헬퍼 클래스 지정

USERNAME_FIELD : 유저 모델의 Unique Identifier. unique = True 가 옵션으로 설정된 필드 값으로 설정한다.

REQUIRED_FIELDS : 필수로 받고 싶은 필드 값. USERNAME_FIELD 값과 패스워드는 항상 기본적으로 요구하기 때문에 따로 명시하지 않아도 된다.

참고 자료

profile
생각하는 개발자 되기

0개의 댓글