
[python] data.dict() vs jsonable_encoder(). 그리고 datetime 쿼리 삽질기
·
개발 일상
문제 상황MongoDB에 저장된 데이터를 기간별로 가공해서 출력해주는 코드를 만들다가 이상한 점을 하나 발견했다.createdAt 같은 날짜/시간 필드가 문자열(string)로 저장돼 있던 것.처음엔 model에서 datetime으로 지정했으니까 당연히 datetime으로 들어갔을 거라 생각했는데, 막상 DB를 까보니까 "2024-01-01T12:00:00"처럼 string으로 저장되어 있던 것을 깨달았다.그래서 코드 전체를 훑기 시작했다.DTO, Model엔 분명히 datetime 타입으로 잘 들어가 있었고, 이상 없어 보였다.그런데 문제는 라우터 코드였다.라우터에서 데이터를 서비스 쪽으로 넘기기 전에 jsonable_encoder(data)로 한번 감싸고 있었는데, 이게 문제의 시작이었다.jsonab..