TIL

손성수·2023년 5월 11일

오늘 배운 내용

  • 팀 프로젝트 진행

  • 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 메서드에서 입력받는
값의 순서를 깨닫게 되었다.

profile
더 노력하겠습니다

0개의 댓글