We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Model.objects.get 또는 filter를 사용해서 데이터를 불러올 경우, Response 안에 ObjectID가 아래와 같이 반환되는 경우가 있습니다.
{ "_id": { "$oid": "abc123" } }
아래와 같은 형태로 바꿔주기 위해 utils에 JSONEncoder class를 만들었습니다.
{ "_id": "abc123" }
class JSONEncoder(json.JSONEncoder): def default(self, o): if isinstance(o, ObjectId): return str(o) return json.JSONEncoder.default(self, o)
사용방법은 아래와 같이 작성하면 됩니다.
json.loads(json.dumps(user_review_data, cls=JSONEncoder))
bson.json_util 의 dumps와 loads를 사용해왔는데, JSONEncoder를 커스텀해서 사용하기 위해선 json의 dumps를 사용해야했습니다.
위 문제를 다른 방법으로 해결했다면 알려주세요.
The text was updated successfully, but these errors were encountered:
util로 해당 과정도 함수로 만들어놨습니다. 적재적소에 사용하면 될 것 같습니다.
# server.utils.json_util.py def jsonify(data): return json.loads(json.dumps(data, cls=JSONEncoder)) #views.py from server.utils.json_util import jsonify response_object = { "success": True, "message": f"{user_review_len}개의 리뷰를 불러왔습니다.", "data": jsonify(user_review_data), }
Sorry, something went wrong.
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)
datetime format도 처리해줬습니다.
No branches or pull requests
Model.objects.get 또는 filter를 사용해서 데이터를 불러올 경우,
Response 안에 ObjectID가 아래와 같이 반환되는 경우가 있습니다.
아래와 같은 형태로 바꿔주기 위해 utils에 JSONEncoder class를 만들었습니다.
사용방법은 아래와 같이 작성하면 됩니다.
bson.json_util 의 dumps와 loads를 사용해왔는데, JSONEncoder를 커스텀해서 사용하기 위해선 json의 dumps를 사용해야했습니다.
위 문제를 다른 방법으로 해결했다면 알려주세요.
The text was updated successfully, but these errors were encountered: