팀 프로젝트 It'em is
User모델을 만들면서 nickname을 나중에 추가하게 되었다.
이미 만들어진 User모델을 기반으로 회원가입, 로그인 테스트를 해서 user가 여럿 생성 된 상태에서 nickname 필드를 추가했다.
class User(AbstractBaseUser):
...
nickname = models.CharField(max_length=16, unique=True, null = True, default = "닉네임을 입력하세요")
...
중복된 닉네임을 제한하기 위해 unique값을 줬다.
이미 만들어진 user는 unique값인 닉네임이 비어있어서 오류가 뜨게 될 것 같아 null=True를 줬다.
default는 무슨 생각으로 넣었는지..
내 사고회로는 다음과 같았다.
class User(AbstractBaseUser):
...
nickname = models.CharField(max_length=16, unique=True)
...
문제를 제거함으로서 문제를 해결..!! (+DB초기화)
대신
class User(AbstractBaseUser):
...
nickname = models.CharField(max_length=16, unique=True)
...
REQUIRED_FIELDS = ['nickname',]
...
REQUIRED_FIELDS에 nickname 필드를 추가해서 닉네임을 필수로 입력하도록 했다.