TIL) 데브코스 19일차 - 프로젝트/django - migration & timezone

Pori·2023년 11월 9일
0

데엔

목록 보기
14/47

Django timezone 설정

타임스탬프를 생성하여 api 요청시간을 관리하다보니 시간 관리가 필요해졌다.
그러나 timezone이 UTC로 되어있어 한국 시간으로의 변경이 필요했다.
한국 시간으로의 세팅은 다음과 같다.

# settings.py
USE_TZ = True # 이 부분을 False로 하라는 글도 있다.
TIME_ZONE = 'Asia/Seoul'

# views.py
from django.utils import timezone

now = timezone.localtime()

Migration 후에도 테이블이 생성안되는 경우

기존 테이블의 컬럼을 삭제 후 다시 생성하는 작업이 발생하였다.
makemigrations를 활용하여 재 생성 하였으나, 여전히 db에는 컬럼이 생성되지 않았다.
이는 기존에 존재하는 migration파일에서 발생한 문제였다.
migrations/0001_inital.py에서 정의했던 테이블의 구문이 남아있었는데 이 구문이 django가 해당 컬럼이 이미 존재한다고 생각하여 재생성해주지 않았던 것이다.
결국 이를 주석처리 후 다시 migration해주었더니 정상적으로 작동되었다.


공부 한 내용

  • timezone 설정과 datetime 모듈의 활용
  • migration 파일로 인해 db가 정상적으로 구축되지 않은 경험

새롭게 배운 내용

  • migration파일 다시 살펴보기...
  • django timezone settings

느낀점&참고

: 오늘은 삽질의 결과로 나타난 것 같다.. migration 후에 결과 파일을 잘 살펴보라고 강의에서 들었던 것 같았는데 직접 경험해보니 확실하게 느껴졌다. 오늘은 기존에 구축된 model들을 조금씩 변경하면서 발생한 문제들을 처리했다. 생각치못한 곳들에서 오류가 발생하였고 코드방어가 쉽지않다는 생각이 든다.

0개의 댓글