[Django] RuntimeWarning: DateTimeField received a naive datetime

황인용·2020년 8월 15일
0

Django

목록 보기
6/13

Issue

  • Python Djnago에서 날짜와 시간을 다루는 DateTimeField를 사용 시, timezone관련 이슈

원인

  • timestamp without time zone인 것을 테이블 스키마를 장고로 Insert할 때, DateTimeField로 정의
  • 해당 컬럼(필드)에 대해 datetime.now()로 현시점 datetime 데이터 값을 넣으면 문제가 발생
  • settings.py의 timezone과 datetime.now()의 timezone이 다르기 때문

해결방안

1안) settings.py USE_TZ 수정

  • settings.pyUSE_TZ = True 값을 False로 변경
    - USE_TZ = True : Django 내부적으로 시간대를 인식하는 날자 및 시간 가용
    • USE_TZ = False : Local Time을 사용

2안) from django.conf import timezone 사용

  • python의 datetime을 사용하는 것이 아닌,
    django.conftimezone을 사용하여 데이터값을 만들어서 Insert
profile
dev_pang의 pang.log

0개의 댓글