기본적으로 장고 내부에 user모델을 가지고있다.
정확히 따지자면 user이 상속받는 Abstractuser이 다 가지고있다.
그래서 user은 빈 깡통이고, 우리는 그 user을 재정의해 마음대로 만들 수 있다.
from django.contrib.auth import get_user_model
처음에 get_user_model()
은 django.contrib.auth.models.User
를 가리킨다
클래스다
객체 인스턴스를 반환한다.
문자열이 아닌 클래스가 들어가야하는때 사용한다.
그래서 null값이 반환될수도 있다.
AUTH_USER_MODEL = 'accounts.User'
사용자 정의 유저다
'문자열'이다
클래스 내부에 들어가는 경우에 사용해준다.
외래키 모델을 전달할때 문자열을 전달한다.
user모델의 class Meta 내부 코드를 보면 swappable= 'AUTH_USER_MODEL' 이 있다.
이것은 User 설정하는 부분에서 AUTH_USER_MODEL를 사용할 수 있게 해주는 코드다.