Model 이해하기

justyoon·2023년 4월 12일
0

AI5 Python/Django

목록 보기
28/31
post-thumbnail

모델이 필요한 이유


글을 작성하는 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와 기민하게 연결되지 못한다면 반쪽짜리 데이터에 불과하기 때문입니다.

때문에 전문적으로 데이터를 다룰 수 있는 DB/SQL을 모델과 같이 사용하는 것입니다.

profile
with gratitude, optimism is sustainable

0개의 댓글