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