본문 바로가기

파이썬(python3)

Django RuntimeWarning: DateTimeField ... received a naive datetime #python

  글 제목처럼 Django에서 RuntimeWarning: DateTimeField ... received a naive datetime가 발생하면 settings.py의 USE_TZ 값을 확인해보시면 됩니다. 아마도 True로 설정되어 있을 것 같은데요. 아래와 같이 False로 변경해주시면 warning이 사라집니다.

USE_TZ = False

 

  아래와 같은 DateTimeField에 값을 입력하거나 업데이트 할 때 발생할 수 있습니다. 

dttm = models.DateTimeField(auto_now_add=True, null=False)

 

  국내에서만 서비스 한다고 하면 USE_TZ False로 써도 될 것 같고요. 해외 사용자도 고려되야 한다면 USE_TZ = True, DateTimeField도 tzinfo 설정해서 사용하시면 될 것 같습니다.