장고 db_table 이름 지정과 활용 방법 - TIL 5

2022. 1. 12. 16:21·TIL

db_table을 통해 모델에서 생성한 데이터베이스 테이블의 이름을 변경할 수 있습니다.

db_table = 'bookstore'

db_table 자동 생성과 변경

장고는 앱과 모델 클래스의 이름을 조합하여 데이터베이스 테이블의 이름을 자동으로 생성합니다. 보다 정확하게는 모델의 데이터베이스 테이블 이름은 모델의 "앱 라벨"(python manage.py startapp bookstore에서 bookstore)과 모델의 클래스 이름을 언더스코어로 조합하여 지정됩니다.

 

예를 들어, bookstore 라는 앱을 생성했고, class Book을 모델에서 정의했다고 해보겠습니다. 이 경우 데이터베이스 테이블 이름은 bookstore_book이 됩니다.

 

이를 다른 이름으로 변경하려면 class Meta 내에서 db_table을 재정의할 수 있습니다.

class Meta:
    db_table = 'bookstore'

db_table 이름 변경 및 활용 예시

다음과 같이 각 앱에서 구현된 모델이 있다고 해보겠습니다. 이때, dogs 앱의 class Dog는 class Human을 FK로 참조합니다. 이 경우, FK 선언 부분에 Human 클래스 내에서 지정된 db_table 이름을 db_tableName.ClassName 형식으로 사용할 수 있습니다.

# humans/models.py
from django.db import models

class Human(models.Model):
    email = models.EmailField(max_length=300, unique=True)
    age = models.PositiveIntegerField()
    name = models.CharField(max_length=45)

    class Meta:
        db_table = 'humans'
# dogs/models.py
from django.db import models

class Dog(models.Model):
    name = models.CharField(max_length=20)
    age = models.IntegerField(default=0)
    human = models.ForeignKey('humans.Human', on_delete = models.CASCADE) #humans.Human을 통해 데이터베이스 테이블의 Human을 참조

    class Meta:
        db_table = 'dogs'
반응형

'TIL' 카테고리의 다른 글

장고 모델에서 Q () 연산자 (or) 사용하는 방법 - TIL 7  (0) 2022.01.18
파이썬 이메일, 비밀번호, URL 유효성 검사 정규 표현식 - TIL 6  (0) 2022.01.16
데이터 유형과 데이터베이스 종류 - TIL 4  (0) 2022.01.11
파이썬 리스트에서 홀수 제외하기 - TIL 3  (0) 2022.01.05
파이썬 함수와 파라미터 순서 - TIL 2  (0) 2022.01.03
'TIL' 카테고리의 다른 글
  • 장고 모델에서 Q () 연산자 (or) 사용하는 방법 - TIL 7
  • 파이썬 이메일, 비밀번호, URL 유효성 검사 정규 표현식 - TIL 6
  • 데이터 유형과 데이터베이스 종류 - TIL 4
  • 파이썬 리스트에서 홀수 제외하기 - TIL 3
휘 Hwi
휘 Hwi
개발자 성장 로그
  • 휘 Hwi
    개발자 로그: 변화를 위한 공간
    휘 Hwi
  • 전체
    오늘
    어제
    • 분류 전체보기 (61)
      • 101 (1)
      • Web | Internet (4)
      • HTML | CSS (4)
      • Python (9)
      • Django (20)
      • Javascript (0)
      • Node.js (0)
      • React (0)
      • React Native (0)
      • Database (1)
      • Git (1)
      • Terminal | Vim (1)
      • Auth | Security (4)
      • AWS (0)
      • Docker (0)
      • Kubernetest (1)
      • Deployment (1)
      • Project (2)
      • TIL (12)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    JWT
    장고
    요소 상대 크기
    프로젝트 회고
    요소 크기 설정
    깃
    JWT 디코딩
    함수
    HTTP GET 요청
    HTTP
    html
    파이썬
    장고 프로젝트
    탭내빙
    깃 퍼블릭 키 등록
    깃 에러 해결
    깃 ssh
    요소 절대 크기
    HTTP POST 요청
    새 탭에서 열기
    TIL
    장고 URL
    정규 표현식
    배포
    JWT 인코딩
    장고 Views
    파라미터
    target="_blank"
    css
    깃 오류
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
휘 Hwi
장고 db_table 이름 지정과 활용 방법 - TIL 5
상단으로

티스토리툴바