Q. get_user_model()보다 AUTH_USER_MODEL을 권장하는 이유?

go easy on NG·2023년 1월 19일
0

Q&A

목록 보기
11/18

기본적으로 장고 내부에 user모델을 가지고있다.
정확히 따지자면 user이 상속받는 Abstractuser이 다 가지고있다.
그래서 user은 빈 깡통이고, 우리는 그 user을 재정의해 마음대로 만들 수 있다.

get_user_model()

  • from django.contrib.auth import get_user_model

  • 처음에 get_user_model()django.contrib.auth.models.User를 가리킨다

  • 클래스다

  • 객체 인스턴스를 반환한다.

  • 문자열이 아닌 클래스가 들어가야하는때 사용한다.

  • 그래서 null값이 반환될수도 있다.

AUTH_USER_MODEL

  • AUTH_USER_MODEL = 'accounts.User'

  • 사용자 정의 유저다

  • '문자열'이다

  • 클래스 내부에 들어가는 경우에 사용해준다.

  • 외래키 모델을 전달할때 문자열을 전달한다.

  • user모델의 class Meta 내부 코드를 보면 swappable= 'AUTH_USER_MODEL' 이 있다.

  • 이것은 User 설정하는 부분에서 AUTH_USER_MODEL를 사용할 수 있게 해주는 코드다.

profile
🐥개발자

0개의 댓글