django rest framework์ ModelSerializer ์ ๋ํด ๋จผ์ ์์๋ณด๊ฒ ์ต๋๋ค.
ModelSerializer์ ๋ชจ๋ธ์ JSON์ผ๋ก ์ฝ๊ฒ ๋ฐ๊ฟ ์ ์๋๋ก ํด์ฃผ๋ ๊ฒ์ ๋๋ค.
์๋ฅผ ๋ค์ด Account๋ผ๋ ๋ชจ๋ธ์ด ์๋ค๊ณ ํ ๋ AccountSerializer๋ฅผ ๋ง๋ค์ด์
๋ด๊ฐ ์ํ๋ ๋ชจ๋ธ์ ํ๋๋ค๋ง json์ผ๋ก ๋ง๋ค์ด์ค ์ ์์ด์
๋ชจ๋ธ์ ๋ชจ๋ ํ๋๋ฅผ ๋ค json์ผ๋ก ๋ง๋ค์ด์ค ๊ฑฐ๋ผ๋ฉด all ์ ํด์ค ์ ๋ ์๊ณ
ํน์ ํ๋๋ง ์ ์ธํ๊ณ ์ถ๋ค๋ฉด exclude ํด์ค ์ ๋ ์๋ต๋๋ค.
๊ทธ๋ฆฌ๊ณ nested json์ ๋ง๋ค๊ณ ์ถ์ผ๋ฉด depth ์ต์ ์ ์ฌ์ฉํ ์๋ ์์ต๋๋ค.
๊ทธ ๋ค์ question์ฑ์ serializers.py ๋ผ๋ ํ์ผ์ ๋ง๋ค์ด์ฃผ์ธ์
๊ทธ๋ฆฌ๊ณ Question๋ชจ๋ธ์ ๋ํ Serializer๋ฅผ ๋ง๋ค์ด์ค๋๋ค.
Question๋ชจ๋ธ์ ๋ชจ๋ ํ๋๋ฅผ json์ผ๋ก ๋ง๋ค๊ฒ ์ต๋๋ค. (์ด๋ ๊ฒ ํ๋ฉด ์์์ ๋งํ id๋ ๊ฐ์ด json์ ๋์ต๋๋ค)
์ผ๋จ ํ์ด์ฌ ์์ ์คํ์์ผ์ฃผ์ธ์
python manage.py shell
์์ ์๊น ๋ง๋ ์๋ฆฌ์ผ๋ผ์ด์ ๋ ๋ชจ๋ธ์ import ํด์ค๋๋ค.
from question.serializers import QuestionSerializer
from question.models import Question
์ด๋ ๊ฒ serializer๋ฅผ ๋ง๋ค๊ณ data๋ฅผ ์ถ๋ ฅํด๋ณด๋ฉด..!!
question = Question(title="์๋
ํ์ธ์ ์ง๋ฌธ์
๋๋ค")
serializer = QuestionSerializer(question)
serializer.data
json์ด ์ ์ถ๋ ฅ๋๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
(๋ชจ๋ธ์ด DB์ ์ ์ฅ์ด ์๋์ด์ id๊ฐ None์ผ๋ก ๋์ค๋ ๊ฒ ๊ฐ์์)
control+D ๋๋ quit()์ ์ ๋ ฅํด์ ํ์ด์ฌ ์์ ์ข ๋ฃํฉ๋๋ค.
๋ง์ฝ id๊ฐ ๋์ค๋ ๊ฒ ์ซ๋ค๋ฉด ๋๊ฐ์ง ๋ฐฉ๋ฒ ์ค ํ๋๋ก ํด์ค ์ ์๊ฒ ์ต๋๋ค.
์๋ณธ: https://eunjin3786.tistory.com/237?category=891871