[Django] 장고 Models를 활용한 데이터베이스 처리#9_마이그레이션을 통한 데이터베이스 스키마 관리

아직·2022년 7월 8일
0
post-thumbnail

1)

class Post(models.Model):
    author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete = models.CASCADE)
    message = models.TextField()
    tag_set = models.ManyToManyField('Tag', blank = True)
    photo = models.ImageField(blank=True, upload_to='instagram/ppppost/%Y/%m/%d')
    is_public = models.BooleanField(default = False, verbose_name = '공개여부')

만약 Post 모델에 author 필드를 추가한 상황이라면 기존에 db 테이블에 있던 요소들에도 non-nullable 요소(예를 들면 외래키의 id 값)를 넣어줄 것인지 물을 것이다. (나는 tag_set 필드에서 blank = True로 바꿔주며 이를 해결한 적이 있다.) author는 외래키 필드이고 해당 필드는 settings.AUTH_USER_MODEL에 대한 primary key로서 '대상 모델을 따라' pk 값이 1, 2, 3 등으로 생성된다. 그러므로 다른 필드를 추가할 경우에도 테이블에 숫자를 입력할 것인지 문자열을 입력할 것인지 고려해야 한다. 그런데 일괄적으로 적용된다는 점이 추가 작업을 해야함을 암시하는 것 같다.

0개의 댓글