django에서 직접 SQL 문 실행
소개
django에서 직접 SQL 문을 실행하는 절차를 설명합니다.
샘플 애플리케이션은 github에 게시됩니다.
전제 사항
django에서 직접 SQL 문 실행
django에서 ORM을 사용하여 SQL 문을 실행합니다.
OPTIMIZE TABLE, TRUNCATE TABLE 등은 직접 SQL 문을 실행합니다.
서비스
데이터베이스 연결 커서 객체를 검색하고 직접 SQL 문을 실행합니다.
EmployeesService
from django.db import transaction, connection
from django.utils import timezone
from django.utils.timezone import localtime
from app_pypeach_django.application.enums.gender_type import GenderType
from app_pypeach_django.application.service.app_logic_base_service import AppLogicBaseService
from app_pypeach_django.models import Employees
"""
employeesテーブルを操作するクラスです。
"""
class EmployeesService(AppLogicBaseService):
def __init__(self):
super().__init__()
@staticmethod
@transaction.atomic()
def truncate_employees():
"""
employeesをトランケートする
"""
cursor = connection.cursor()
cursor.execute('TRUNCATE TABLE {0}'.format(Employees._meta.db_table))
PEP8 경고 (PyCharm)
PyCharm을 사용하여 직접 SQL 문을 작성하면 PEP8 경고가 표시됩니다.
다양한 설정을 수행하여 PEP8 경고를 피합니다.
Database Tool Window
다음 단계에 따라 Database를 설정합니다.
1. 메뉴에서 보기 > 도구 창 > 데이터베이스를 누릅니다.
2. 데이터 소스를 누르십시오.
3. 데이터 소스 및 드라이버 설정하기
SQL Dialects
다음 절차에 따라 SQL 다이렉트를 설정합니다.
1. 메뉴의 [파일 > 설정]을 누릅니다.
2. 설정의 「언어&프레임워크>SQL 다이얼렉트」에서 사용할 DBMS를 지정한다
참고 정보
from django.db import transaction, connection
from django.utils import timezone
from django.utils.timezone import localtime
from app_pypeach_django.application.enums.gender_type import GenderType
from app_pypeach_django.application.service.app_logic_base_service import AppLogicBaseService
from app_pypeach_django.models import Employees
"""
employeesテーブルを操作するクラスです。
"""
class EmployeesService(AppLogicBaseService):
def __init__(self):
super().__init__()
@staticmethod
@transaction.atomic()
def truncate_employees():
"""
employeesをトランケートする
"""
cursor = connection.cursor()
cursor.execute('TRUNCATE TABLE {0}'.format(Employees._meta.db_table))
Reference
이 문제에 관하여(django에서 직접 SQL 문 실행), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tz2i5i_ebinuma/items/41dcf1e80c56f6b401ed텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)