[python] Django and MongoDB 연동 방법은 어떻게 되는가?
Django는 기본적으로 RDBMS와의 연동을 위한 ORM(Object-Relational Mapping)을 제공하지만, MongoDB와의 연동을 위해서는 몇 가지 추가적인 설정이 필요합니다.
- pymongo 패키지 설치하기: MongoDB를 Django와 연동하기 위해서는 pymongo 패키지가 필요합니다. 아래 명령어를 사용하여 pymongo를 설치해주세요.
pip install pymongo
- settings.py 파일 수정하기: Django 프로젝트의 settings.py 파일에서 DATABASES 항목을 다음과 같이 수정해주세요.
DATABASES = {
'default': {
'ENGINE': 'djongo',
'NAME': '<database_name>',
'CLIENT': {
'host': '<mongodb_connection_string>',
'username': '<mongodb_username>',
'password': '<mongodb_password>',
'authSource': '<authentication_database>',
'authMechanism': 'SCRAM-SHA-1',
}
}
}
위 설정에서 <database_name>
은 MongoDB에 사용할 데이터베이스의 이름으로 변경해주시고, <mongodb_connection_string>
은 MongoDB 서버의 연결 문자열입니다. <mongodb_username>
, <mongodb_password>
, <authentication_database>
은 MongoDB에 접속하기 위한 인증 정보입니다.
- 모델 정의하기: Django 모델을 정의할 때 MongoDB와 연동하기 위해서는
djongo.models
모듈에서Model
클래스를 상속받아야 합니다. 예를 들어, 다음과 같이 모델을 정의할 수 있습니다.
from django.db import models
from djongo.models import Model
class Product(Model):
name = models.CharField(max_length=100)
price = models.DecimalField(max_digits=6, decimal_places=2)
description = models.TextField()
- 마이그레이션 수행하기: Django의 마이그레이션 기능을 사용하여 모델의 변경사항을 MongoDB에 적용합니다. 아래 명령어를 사용하여 마이그레이션을 수행합니다.
python manage.py makemigrations
python manage.py migrate
이제 Django와 MongoDB가 잘 연동되었고, MongoDB를 사용하는 Django 모델을 정의하고 데이터를 조작할 수 있습니다.
참고 문서:
위와 같이 Django와 MongoDB를 연동하면 Django의 강력한 기능과 MongoDB의 유연성을 함께 활용할 수 있습니다.