WET_4 | [django] 두 앙숙이 만났다... offset-naive, offset-aware

code_sign·2021년 2월 21일
0

WET

목록 보기
3/3

상황 🧑🏻‍💻

프로젝트를 진행하던 도중 만난 에러🚫🚫🚫
Frontendnew라는 이미지를 붙여주는 조건부 랜더링을 위해,
MainView에서 오늘 날짜와 productcreate_at의 날짜를 비교하여 나타내주어야 했다.

🚨오류🚨

datetime.today()create_at을 비교하는 isNew()함수를 실행하니 다음과 같은 에러가 나왔다.

💡해결💡

구글링을 통해 알아보니 결국은 이 문제다.
offset-naive타입과 offset-aware타입이 같지 않아서 연산을 할 수 없다....?

그러니까..
offset-naive에는 날짜와 시간 정보만 담겨 있다.
근데 offset-aware은 날짜와 시간정보는 물론, 어디 지역에서 생성한 날짜 데이터라서 GMT+9라는 지역 정보까지 저장된다는 것이다.

실제로 django에서는 offset-naive 사용을 지양하고 offset-aware만을 사용하길 권장하고 있다.

그래서 나는 아래와 같이 해결하였다.

Error를 해결하고나서 느낌 💣

오늘도 또 한차례 성공했구나.. 싶었다.
근데 이게 바쁜 프로젝트 중에 발생을 하여 귀중한 시간을 까먹으니 참 답답했다....

나와 같은 상황이 발생되지 않게 아래와 같이 slack에도 동기들과 공유도 하였다...❗️ 😎

이 글에 유입된 모든 분들도 저로 인해 시간을 아끼셨으면 좋겠다...!!!

profile
방탈출 좋아하는 코딩덕후

0개의 댓글