[Mission 2] 모델링
1. User Branch 생성
git checkout main
git branch feature/karam-models
2. User App 생성
- 앱 이름에서 그 용도를 유추할 수 있어야 합니다. 사용자와 관련된 기능을 구현할 앱이므로, users를 이름으로하는 앱을 생성해주세요.
python manage.py startapp users
3. User 테이블 생성
from django.db import models
class User(models.Model):
username = models.CharField(max_length=30)
email = models.EmailField(max_length=250, unique=True)
password = models.CharField(max_length=200)
contact = models.CharField(max_length=30, blank=True)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
class Meta:
db_table = 'users'
4. 발생했던 오류들
- users-model을 생성할 브랜치로 체크아웃 후 user앱을 생성하고 마이그레이션하고 수정사항이 끝나서 push를 한 후 main브랜치로 돌아갔는데 user앱폴더가 존재해서 잘못생성한 줄 알고 통째로 폴더를 지웠다 다시 깔았다를 반복했습니다. 하지만 마이그레이션을 하면 main에도 폴더는 생성되어 있을 수 있습니다. 그 안에 파일이 없기 때문에 따로 main에서 브랜치를 다시 파서 다시 앱을 만들경우 폴더를 삭제하고 다시 user앱을 깔아도 됩니다.
- created_at, updated_at을 추후에 추가했기 때문에 뒷부분 단계를 진행할 때
1054 unknown column 'created_at' in 'field list'
이라는 오류가 계속 났습니다. 결국 migrations 폴더안의 파일들을 다 지우고 수정했습니다. 그러자 잘 동작했습니다. 어디선가 마이그레이션 오류가 나서 인식하지 못했던 것 같습니다. 항상 모델을 수정하면 마이그레이션을 바로바로 해야겠습니다.