django 데이타베이스 모델을 외부 스크립트에서 사용하는 방법

django2.4에서 만든 데이타베이스 모델을 외부 스크립트에서 사용하는 방법

작업환경: python3.7, django2.4

디렉토리 구조는 아래와 같다. 프로젝트 디렉토리 내에 util 디렉토리에 백엔드 스크립트를 위치시키고, 이 스크립트가 django 모델에 orm으로 엑세스 하기를 원할때의 설정 방법이다.
sql을 직접 사용하는 방법도 있겠으나, 전체 프로젝트의 일관성을 위해 ORM을 사용하려면 아래와 같은 방법을 사용하면된다.

d:\python_project\myproject\
├─myproject
│  └─settings.py
├─static
│  └─bootstrap-4.3.1
│      ├─css
│      └─js
├─templates
│  └─app
├─app
│  ├─migrations
│  │  
│  └─models.py
└─util
    └─this_script.py

this_script.py의 내용(django 프로젝트와 관계없음)은 아래와 같다.

import os
import sys
import django

sys.path.append('d:\python_project\myproject')  	# 프로젝트의 절대경로
os.environ.setdefault('DJANGO_SETTINGS_MODULE', myprojectr.settings') 	# settings.py가 있는곳
django.setup()

from app_name.models import table1, table2	#사용할 model이 있는 django app

data = table1.objects.all()
print(data)

위의 스크립트처럼 만들면, django ORM으로 데이타베이스를 조작할 수 있다.

답글 남기기

Your email address will not be published.