글을 작성하는 post API입니다.
json.loads로 request.data를 불러옵니다
불러온 data를바탕으로 document dictionary를 만들어줍니다.
db.article에 데이터를 넣어줍니다.
title
, content
, user
, user_email
, time
과 같은 article의 형태와 관련된 키와 밸류가 설정되어 있습니다.
해당하는 데이터들은 이곳에 명시된 형태로 저장이 됩니다.
이렇게 작성되어 있는 데이터들은 글을 작성할 때에도 중요하지만, 다른 글을 불러오거나 다른 작업을 할 때에도 계속 사용하게 되기도 합니다.
그래서 전문적인 비즈니스모델을 제공하는 곳은 DB저장 뿐만 아니라 데이터를 다루는 형태에 대해서도 별도로 분리해 사용하고 있습니다.
왜냐하면 데이터는 변화에 민감하기 때문에 데이터자체가 아닌 데이터에 대한 형태, 기준을 따로 설정하고 구분해야만 문제에 기민하게 대응할 수 있기 때문입니다.
이것을 데이터 모델
이라고 부릅니다.
이러한 데이터 모델을 만들기에 가장 적합한 방법이 클래스, 인스턴스를 활용한 방식입니다.
class Review:
title = ''
content = ''
user = ''
#instance 생성 메서드
def __init__(self, content=content, title=title, user=user):#키=변수
self.content = content
self.title = title
self.user = user
#생성된 인스턴스는 review1에 저장됩니다
review1 = Review(title="인생 영화입니다", content="blabla", user="me")
review2 = Review(title="노잼", content="blabla2", user="me2")
review3 = Review(title="돈 아깝다 진짜", content="blabla3", user="me3")
review4 = Review(title="명징하게 직조해넨 어쩌구", content="blabla4", user="me4")
이렇게 클래스와 인스턴스를 사용해 title
, content
, user
데이터 저장 모델을 따로 만들 수 있습니다.
위와같이 분리되지 않은 곳에 데이터를 명시하는 것은 좋지 않습니다.
왜냐하면 아무리 데이터 모델을 클래스와 인스턴스를 활용해 잘 만들어도
문제가 있을 때 DB와 기민하게 연결되지 못한다면 반쪽짜리 데이터에 불과하기 때문입니다.
때문에 전문적으로 데이터를 다룰 수 있는 DB/SQL을 모델과 같이 사용하는 것입니다.