[Westagram] -2

김가람휘·2022년 2월 22일
0

Westagram

목록 보기
2/9

[Mission 2] 모델링

1. User Branch 생성

git checkout main # 브랜치 생성은 꼭 main 에서 해주세요. 
git branch feature/karam-models # model 을 위한 브랜치에서 작업해주세요!!

2. User App 생성

  • 앱 이름에서 그 용도를 유추할 수 있어야 합니다. 사용자와 관련된 기능을 구현할 앱이므로, users를 이름으로하는 앱을 생성해주세요.
# user-models 브랜치에서 작성해주세요.

python manage.py startapp users # manage.py 가 위치한 곳에서 실행해야 합니다.

3. User 테이블 생성

from django.db import models

class User(models.Model):
    username   = models.CharField(max_length=30) # id -> username, name -> first_name, last_name
    email      = models.EmailField(max_length=250, unique=True) # unique 속성을 추가하여 유저가 중복 저장되는 문제를 막음
    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 폴더안의 파일들을 다 지우고 수정했습니다. 그러자 잘 동작했습니다. 어디선가 마이그레이션 오류가 나서 인식하지 못했던 것 같습니다. 항상 모델을 수정하면 마이그레이션을 바로바로 해야겠습니다.

0개의 댓글