๋ ๋ค ์๋ก ์ฐธ์กฐํ๋ ๋ชจ๋์ด ์๋ ์ผ๋ฐ์ ์ธ ๊ฒฝ์ฐ์ ๋๋ค.
์๋ฅผ ๋ค์ด ๋ชจ๋ ์ฌ์ฉ์ ๋ฐ ๊ฒ์๋ฌผ. ์ฌ์ฉ์์๋ ์ฌ์ฉ์๊ฐ ์๊ณ ๊ฒ์๋ฌผ์๋ ๊ฒ์๋ฌผ ๋ฐ ์ฒจ๋ถ ํ์ผ์ด ์์ต๋๋ค.
# users
class UserSerializer:
posts = PostSerializer()
profile_attachments = AttachmentSerializer()
#posts
class PostSerializer:
user = StringSerializer()
attachments = AttachmentSerializer()
class AttachmentSerializer:
name = CharField()
size = IntegerField()
Django์๋ ์ฐธ์กฐ ๋ชจ๋ธ์ ๋ฌธ์์ด๋ก ์ ์ธํ์ฌ ์ํ ์ข ์์ฑ์ ํผํ๋ ์ธ๋ ํค ๋ฅผ ์ ์ธํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
profile_attachment = models.ForeignKey('posts.Attachment', on_delete=models.CASCADE)
DRF๊ฐ ์ง๋ ฌ ๋ณํ๊ธฐ์ ๋ํด ์ด์ ๊ฐ์ ๊ฒ์ ์ ๊ณตํ ์ ์์ต๋๊น? ๊ฐ์ ๊ฒ
profile_attachment = ModelSerializer(serializer='posts.AttachmentSerializer')
์๋ mrodal!
"์ํ" ์ง๋ ฌ ๋ณํ๊ธฐ ์ค ํ๋์์ ๋ค์์ ๊ตฌํํ์ฌ ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์์ต๋๋ค. DRF: ์ญ ๊ด๊ณ
Django: ๊ด๊ณ๋ฅผ "๋ค๋ก" ๋ฐ๋ผ๊ฐ๊ธฐ
๋๋ ๊ทธ๊ฒ์ด ๊ฝค ๋ณต์กํ๋ค๊ณ ์๊ฐํ์ง๋ง.
๊ทธ๋์ ๋๋ ์ค์ ๋ก ๋ด๊ฐ ์์ ํ๋ ํ๋ก์ ํธ์์ ๊ฐ์ ๊ฒฝ์ฐ๋ฅผ ๊ฐ์ง๊ณ ์์ง๋ง ์ค์ ๋ก๋ ์๋ฉ๋๋ค. ์ํํธ์จ์ด ์์ง๋์ด๋ง ๋ฐ ์ํคํ ์ฒ ๊ณผ์ ์์ ๋ชจ๋ฒ ์ฌ๋ก๋ ๋จ๋ฐฉํฅ ์ข ์์ฑ์ ๊ฐ๋ ๊ฒ์ ๋๋ค. ๊ฐ๋ฅํ๋ค๋ฉด ์ ์ด๋. ๋ ์ฑ ์ฌ์ด์ ๋งค์ฐ ๊ธด๋ฐํ ๊ฒฐํฉ์ด ์๋ ๊ฒฝ์ฐ ํ๋์ ์ฑ์ด์ด์ผ ํ๋ฉฐ, ๋์์ ์ผ๋ก ๊ณตํต ๋ถ๋ชจ๊ฐ ์์ด์ผ ํฉ๋๋ค. ํด๋นํ๋ ๊ฒฝ์ฐ ์ง๋ ฌ ๋ณํ๊ธฐ๋ฅผ ํ์ ์ฑ์ผ๋ก ์ด๋ํ ์๋ ์์ต๋๋ค.
๋ด๊ฐ ํ๋ฆด ์๋ ์์ง๋ง AFAIK๊ฐ ๋ชจ๋ฒ ์ฌ๋ก์ ๋๋ค.
์ด๊ฒ์ด ๋ฌดํ ๋ฃจํ๋ก ๋๋์ง ์๋๋ค๋ ๊ฒ์ ๋๋์ต๋๋ค.