Django에서 모델은 데이터베이스에 저장될 테이블을 정의하는 클래스입니다. django에서는 SQL을 직접 작성하지 않아도 모델을 저장하면 DB에 저장됩니다. (여기서 SQL이란 관계형 데이터베이스 관리 시스템으로, 데이터를 관리하기 위해 설계된 특수목적의 프로그래밍 언어입니다.)
그렇다면 데이터베이스에는 어떤것이 들어있을까요? 사용자에 대한 ID, PW 등 개인 정보나, 우리가 만들 테스트지의 문항, 그 결과값 등 다양한 데이터들이 저장되어 있습니다.
우리가 작성하고자 하는 모델의 설계는 다음과 같습니다.
해당 DB설계는 erdcloud 에서 작성했습니다.
모델 클래스는 [해당앱 폴더]/models.py
에 작성합니다.
본격적으로 모델링을 하기 전, 우리가 어떤 서비스를 만들지 다시 한번 생각해 봅시다.
우리는 테스트지를 만들 것이고, 테스트지의 각 항목에 점수를 매겨 점수가 가장 높은 항목을 결과값으로 보여줄 것입니다.
질문지
결과페이지
개발자 유형은 결과값으로 보여 줄 모델입니다.
개발자 유형에는 두 가지 변수가 들어갑니다. name
은 개발자 유형(프론트엔드, 백엔드 등)을 의미하며 count
는 테스트 결과에 대한 카운트 값을 의미합니다. (count
값은 메인 페이지에서 보여지는 결과값이에요!)
class Developer(models.Model):
name = models.CharField(max_length=50)
count = models.IntegerField(default=0)
문항은 테스트지의 질문 목록들을 의미합니다.
number
는 문항 번호를 의미하며, content
는 질문 내용을 뜻합니다.