본문 바로가기
Python

Djongo datetime JSON Serializable Error

by Zih0 2021. 8. 19.

model에서 deadline = models.DateField(auto_now_add=False) 형태로 DateField를 만들었습니다.

Serializer로 데이터를 넣는건 문제가 없었는데, 가져와서 Response 해주는게 문제였습니다.
파이썬으로 불러올 때 datetime type으로 오기 때문에, json으로 리턴해주는게 문제였습니다.
이를 해결하기 위해, 이전 글에서 작성했던 JSONEncoder에 추가적으로 아래와 같이 수정했습니다.
https://zih0.tistory.com/13

import datetime
class JSONEncoder(json.JSONEncoder):
    def default(self, o):
        if isinstance(o, ObjectId):
            return str(o)

        if isinstance(o, (datetime.datetime, datetime.date, datetime.time)):
            return o.isoformat()

        return json.JSONEncoder.default(self, o)

댓글