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

2022. 1. 12. 16:21·TIL
목차
  1. db_table 자동 생성과 변경
  2. db_table 이름 변경 및 활용 예시

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
  1. db_table 자동 생성과 변경
  2. db_table 이름 변경 및 활용 예시
'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)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.