코딩한걸음
article thumbnail
Published 2024. 1. 25. 09:00
[Django] inspectdb Python/Django
728x90
반응형

개요

inspectdb 명령어는 기존의 데이터베이스 테이블을 Django 모델 코드로 변환하는 데 사용

데이터베이스 스키마를 자동으로 분석하여 Django 모델 클래스로 변환하는 코드를 생성

사용방법

$ python manage.py inspectdb

 

 

연결된 데이터베이스의 모든 테이블에 대한 Django 모델 클래스를 출력한다.

출력된 코드는 위처럼 콘솔에 나타나며, 이를 복사하여 models.py 에 붙여넣으면 된다.

옵션

  • -database <DB>: 사용할 데이터베이스를 지정. <DB>settings.py에 정의된 데이터베이스의 이름이다.
  • -include-partitions: 파티션된 테이블을 포함합니다.
  • -include-views: 데이터베이스 뷰를 포함합니다.
  • <테이블 이름>: 특정 테이블에 대해서만 모델을 생성하려는 경우 테이블 이름을 명령어와 함께 지정할 수 있습니다.

주의사항

  • inspectdb는 데이터베이스의 구조를 분석하여 Django 모델을 생성하지만, 모든 데이터베이스 기능을 완벽하게 변환하지는 않는다. 예를 들어, 데이터베이스의 일부 고급 기능이나 제약 조건이 Django 모델에 정확히 반영되지 않을 수 있다.
  • 생성된 모델은 검토하고 필요에 따라 수정해야 한다. 특히, Django의 관계형 필드(예: ForeignKey)는 수동으로 조정해야 할 수 있다.
  • inspectdb는 기존 데이터베이스를 기반으로 모델을 생성하기 때문에, Django의 마이그레이션 시스템과 완전히 통합되지 않을 수 있다.
728x90
반응형
profile

코딩한걸음

@Joonyeol_Yoon

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!