User에 닉네임,이메일,이름 속성을 추가시켜줄것이다
#models.py
from django.db import models
from django.contrib.auth.models import AbstractUser
#auth의 유저 상속
class User(AbstractUser):
"""
닉네임
이름
이메일
"""
nickname = models.CharField(max_length=15,unique=True,null=True)
name = models.CharField(max_length=15)
email = models.EmailField()
USERNAME_FIELD: 'nickname'
class Meta:
db_table = "User"
def __str__(self):
return self.email
User 클레스에 AbstractUser를 상속받는 것 으로 기존 Django에서 제공하던 User의 속성을 그대로 사용하는것과 동시에 새로운 속성을 추가하는 것이 가능하다.
이후 Settings.py파일에
#settings.py
#커스텀 유저모델 사용
AUTH_USER_MODEL = 'common.User'#[APP이름.Model이름]
를 추가해 준다. 이는 로그인시 기존에 Django에서 제공하던 User를 사용하는 것이 아닌 우리가 만든 Model을 사용하겠다는 뜻이다.
makemigrations를 해주면 끝이다
기존에 DB를 사용하던 프로젝트 일경우 기존의 데이터와 충돌이 있을 수 있기 때문에 DB를 제거하고 makemigrations 해주는 것이 좋다.
필자는 sqlite를 사용중이여서 db.sqlite3파일을 지워주었다.
'Django > Django study' 카테고리의 다른 글
[Django]회원 프로필 수정 (0) | 2022.11.27 |
---|---|
[Django] 회원 프로필 만들기 (0) | 2022.11.26 |
Django-allauth 소셜로그인 (0) | 2022.11.15 |
[Django] 앱 생성 후 view,template 연결 (0) | 2022.10.28 |
장고(Django)설치 및 프로젝트 생성하기 (0) | 2022.10.27 |