아래와 같은 django
내부에 구현된 forms
를 사용했었다.
from django import forms
from .models import Blog
class NewBlog(forms.ModelForm):
class Meta:
model = Blog
fields = ['title', 'body']
Django | Django Rest Framework |
---|---|
Form / ModelForm | Serializer / ModelSerializer |
HTML Form | JSON 문자열 |
Model
로부터Field
를 읽어온다.- 유효성 검사를 한다.
두개의 기능은 서로 매우 유사하다.
Django | Django Rest Framework | |
---|---|---|
만들어지는 것 | 웹 어플리케이션 | RESTful API |
전달하는 데이터 | HTML / CSS / JS | JSON 데이터 |
데이터를 담는 곳 | Form | Serializer |
- (모델로부터) Field를 생성
- 전송 가능 형식 (HTML Form / JSON 문자열)으로 만든다.
- 유효성 검사
Form과 ModelForm이 존재하듯이 Model만 작성할 줄 알면
더 간편하게 Serializer를 사용할 수 있게하는 ModelSerializer에 대해서 공부한다.
ModelSerializer는 쿼리셋과 모델 직렬화를 알아서 해준다.