팀 프로젝트 진행
Choices의 올바른 사용 방법
SELLER_CHOICE =(
# case 1
('S','판매 회원'), # 판매 회원
('M','일반 회원'), # 일반 회원
# case 2
('S', True), # 판매 회원
('M', False), # 일반 회원
)
다음과 같이 어떠한 선택사항에 있어
BooleanField에 사용하고자 했으나, Choices는 CharField에 사용하는 것이
적합하다.
커스텀 모델 살펴보기
USERNAME_FIELD
사용자 로그인시, 패스워드와 함께 필요한 핵심 요소로 사용할 필드지정
REQUIRED_FIELDS
사용자가 회원가입시 필요로하는 데이터를 입력받는 필드 지정
class UserManager(BaseUserManager):
def create_user(self,email,username,nickname,is_seller,password=None):
.....생략
def create_superuser(self,email,username,nickname,is_seller,password=None):
user = self.create_user(
email,
password=password,
username=username,
nickname=nickname,
is_seller=is_seller,
)
커스텀 모델을 만들때 매개변수에 오타가 없는지 꼼꼼히 살펴볼것
class LoginUserTest(APITestCase):
def setUp(self):
.... 생략
# def create_user(self, email, username, nickname, is_seller, password=None):
# 데이터 넘기는 순서 참고.
self.user = User.objects.create_user('test@naver.com','SungSuSon','Rumor',True,'123')
테스트 클래스를 생성하여
self.user 의 User 모델을 생성하여 오브젝트를 생성할때
순서의 보장이 햇갈렸는데, 다시 돌아와 create_user 메서드에서 입력받는
값의 순서를 깨닫게 되었다.