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
반응형