replace(tzinfo=None)이 만든 무증상 500 에러: timezone aware/naive 혼용의 함정

코드 마이그레이션 후 특정 엔드포인트에서 간헐적 500 에러가 발생했다. 원인은 마이그레이션 중 일부 코드가 timezone-aware datetime을 naive로 변환해서 빼려고 했던 것. TypeError 한 줄이 모니터링을 통과한 이유까지 정리했다.

September 9, 2026 · 3 분