Django REST framework - Single Model
โ ๋จ์ผ ๋ชจ๋ธ์ data๋ฅผ Serialization ํ์ฌ JSON ๋ฐ์ดํฐ๋ฅผ ์๋ตํ๋ Django ์๋ฒ ๊ตฌ์ถ
์ฌ์ ์ค๋น
- postman ์ค์น
- models migrate
- json ๋๋ฏธ๋ฐ์ดํฐ loadํ๊ธฐ
djangorestframework
์ค์นํ๊ธฐ
ModelSerializer
Model Serializer
โ ๋ชจ๋ธ ํ๋์ ํด๋นํ๋ ํ๋๊ฐ ์๋ Serializer ํด๋์ค๋ฅผ ์๋์ผ๋ก ๋ง๋ค ์ ์๋ shortcut์ ๊ณต
- Model ์ ๋ณด์ ๋ง์ถฐ ์๋์ผ๋ก ํ๋ ์์ฑ
- serializer์ ๋ํ ์ ํจ์ฑ ๊ฒ์ฌ๊ธฐ๋ฅผ ์๋์ผ๋ก ์์ฑ
.create() ๋ฐ .update()
์ ๊ฐ๋จํ ๊ธฐ๋ณธํ ํฌํจ
- Model Serializer ์์ฑํ๊ธฐ
- shell_plus ์คํ ๋ฐ ArticeListSerializer import
- ์ธ์คํด์ค ๊ตฌ์กฐ ํ์ธํ๊ธฐ
- Model instance ๊ฐ์ฒด serialize
- QuerySet ๊ฐ์ฒด serialize
โ QuerySet ๊ฐ์ฒด๋ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค...! Many = True
์ต์ ์ค์
โ ์ ์์ ์ผ๋ก ์ถ๋ ฅ์ด ๋๋ค.RESTful API - Article- GET - List
- url ๋ฐ view ํจ์ ์์ฑ
โ ๊ฒ์๊ธ ๋ฐ์ดํฐ ๋ชฉ๋ก ์กฐํํ๊ธฐ
โ DRF์์api_view
๋ฐ์ฝ๋ ์ดํฐ ์์ฑ์ ํ์ - ์๋ต ํ์ธ
โ Postman์ผ๋ก ํ์ธ ํ ์ ์์
api_view
decorator
โ DRF view ํจ์๊ฐ ์๋ตํด์ผ ํ๋ HTTP ๋ฉ์๋ ๋ชฉ๋ก์ ๋ฐ์
โ ๊ธฐ๋ณธ์ ์ผ๋ก GET ๋ฉ์๋๋ง ํ์ฉ๋๋ฉฐ ํ์ฉ๋์ง ์์ ๋ค๋ฅธ ๋ฉ์๋ ์์ฒญ์ ๋ํด์๋ 405 Method Not Allowed๋ก ์๋ต
GET - Detail
ArticleSerializer
์ ์- url ๋ฐ view ํจ์ ์ ์
- ์๋ต ํ์ธ
POST
โ ์์ฒญ์ ๋ํ ๋ฐ์ดํฐ ์์ฑ์ด ์ฑ๊ณตํ์ ๋๋ 201 Created ์ํ ์ฝ๋๋ฅผ, ์คํจ ํ์ ๊ฒฝ์ฐ์๋ 400 Bad request๋ฅผ ์๋ต
- view ํจ์ ์์ฑ
โ method ๊ธฐ์ค์ผ๋ก ๊ตฌ๋ถํ๊ธฐ ๋๋ฌธ์ ์๋ก์ด viewํจ์๋ฅผ ์์ฑํ๋ ๊ฒ ์๋๋ผ ๋ฐ์ ์ถ๊ฐํด์ค๋ค. - ์๋ต ํ์ธ
raise_exception=True
โraise_exception=True
๋ฅผ ์ค์ ํด์ฃผ๋ฉด ์๋์ผ๋ก ์์ธ ์ฒ๋ฆฌ๋ผ HTTP400์ ๋ฐํํ๋ค.
DELETE
- viewํจ์ ์์ฑ
โ ๋ฐ์ดํฐ ์ญ์ ์ ์ฑ๊ณตํ์ ๊ฒฝ์ฐ 204 No Content ๋ฐํ - ์๋ต ํ์ธ
PUT
- viewํจ์ ์์ฑ
- ์๋ต ํ์ธ
'โญ Personal_Study > Django' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
DynamicFieldsModelSerializer (0) | 2022.11.06 |
---|---|
Django REST framework - N:1 Relation (1) | 2022.10.27 |
Django: Response JSON (0) | 2022.10.25 |
(M:N) User- User Relationship (0) | 2022.10.18 |
(M:N) Article - User Relationship (0) | 2022.10.17 |
๋๊ธ