swsnu / swppfall2020

28 stars 17 forks source link

[HW4] User object not JSON serializable #165

Open shapespeare opened 4 years ago

shapespeare commented 4 years ago

안녕하세요. /api/article에 POST를 보내고 이후 그 POST 결과를 반환함에 있어서 response_dict = {'id': article.id, 'title': article.title, 'content': article.content, 'author': article.author} 와 같이 python dict을 만들고 이를 JSON으로 인코딩해 반환하려 했는데 제목과 같이 User type은 JSON serializable하지 않다는 메시지를 받았습니다. User에서 몇몇 항목들(username, id)만을 따로 빼서 생성해야 하나요? 아니면 반환 시 author는 누락해도 괜찮나요?

kooyunmo commented 4 years ago

지금 코드 상에서는 'author' 키의 value가 article.author로 되어 있는데 이것이 Django 모델의 User class에 해당하는 상황입니다. 당연히 일반적인 Python object는 바로 json 형태로 serialization할 수 없고, 따라서 'author' key의 value로는 author의 id만 넣어주시면 됩니다.

shapespeare commented 4 years ago

감사합니다.