auth_user
: django 기본 제공 모델
my_user
: 내가 만든 모델
class Rafa:
def tennis:
return 'tennis'
def photo:
return 'photo'
class Grace:
def happy:
return 'happy'
클래스 Rafa에는 tennis
기능과 foto
기능이 있고
클래스 Grace에는 happy
기능이 있다.
만약 Grace가 Rafa의 기능을 사용하고 싶다면
class Grace(Rafa):
def photo:
return 'photo'
모델을 수정할 때는 서버를 중지하는 게 좋다.
# user/models.py
from django.db import models
from django.contrib.auth.models import AbstractUser # 추가. django 기본 유저모델
# 위 AbstractUser의 기능을 UserModel에서 쓰겠다고 선언
class UserModel(AbstractUser):
class Meta:
db_table = "my_user" # 내가 만든 db_table의 이름
bio = models.CharField(max_length=256, default='')
위 class의 의미는, 사용자모델로
(django 기본 모델을 사용하면서) bio를 추가한다.
# mySpartaSns/settings.py에 다음을 붙여넣기
AUTH_USER_MODEL = 'user.UserModel'
이제 django는 AUTH_USER_MODEL = 'user.UserModel'
을 기본 사용자모델로 인식한다.
user 앱 내의 UserModel 클래스로 변경한다는 의미.
이것을 settings.py에 공지한다.
python manage.py makemigrations
python manage.py migrate