장고에서 db를 이용하는 방법은 생각보다 간단합니다. 그 흐름을 이해하는 것이 어려울 수 있습니다. 개인적으로 ‘점프 투 장고’의 2-02의 모델 파트의 내용을 참고하면 많은 도움이 될 것이라 생각합니다. 장고에서 SQLite 혹은 그 이외의 데이터베이스를 생성 또는 연결합니다.(참고) 연결한 db를 활용하는 방법이 필요하겠죠. models.py를 이용해 db에 데이터 추가, 조회, 삭제등의 기능들을 활용할 수 있습니다.
장고(django) DB 이용하기, models.py 예제
장고를 이용하기 위해 프로젝트를 생성하면 root 폴더가 만들어집니다. 일반적인 예제에서의 root 폴더는 mysite를 이용합니다. 장고 프로젝트에는 여러 앱을 구성하게 되는데요. mysite 폴더 하위에 앱 폴더가 생기게 됩니다. 해당 폴더에 models.py 파일이 있습니다. 우선은 migration을 이용해 db를 비롯한 몇가지 기능들을 설치해야 합니다. (ex. admin / auth / contenttypes / session / message …)
모든 것이 준비되었다는 가정하에 models.py 파일에서 db를 이용하기 위한 코드를 알아봅니다. ‘점프 투 장고’는 장고를 이용한 게시판 만들기를 예제로 하고 있습니다.
from django.db import models
class Question(models.Model):
subject = models.CharField(max_length=200)
content = models.TextField()
create_date = models.DateTimeField()
class Answer(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE)
content = models.TextField()
create_date = models.DateTimeField()
위 코드는 장고에서 db를 이용하기 위해 models.py를 정의한 것입니다. Question과 Answer를 구분하여 subject / content / create_date의 객체를 지정하여 활용할 수 있도록 만들어 둔 것입니다. 장고의 필드 유형은 공식 문서에서 확인할 수 있습니다.(👉 공식 문서)