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으로 데이타베이스를 조작할 수 있다.