2009-10-29 3 views

답변

16

기존 데이터베이스에서 모델을 생성하는 유틸리티는 manage.py inspectdb입니다. 그것은 꽤 잘 작동합니다.

$ python manage.py inspectdb > models.py 
+2

네, 장고의'inspectdb' 당신이 찾고있는 것을해야 관리 할 수 ​​있습니다. – Michael

3

데이터베이스가 단순하지 않거나 잘 디자인되지 않은 경우 장고와 잘 맞지 않습니다.

reverse engineering은 잘 작동하지만 원래 데이터베이스 설계에는 결함이 있으며 많은 번거로운 해결 방법이있을 수 있습니다.

질문은 이전 데이터 모델에서 작동하는 "레거시 소프트웨어"중 하나입니다.

다음과 같이하시는 것이 좋습니다.

  1. 장고를 사용하여 올바른 데이터 모델을 디자인하십시오.

  2. 올바른 모델을 갖고있는 것과 매핑하십시오.

  3. 단순한 직접 SQL과 Django ORM을 사용하는 변환 스크립트를 작성하여 장고가 아닌 유형의 데이터를 더 나은 모델로 마이그레이션하십시오.

    • 기존 소프트웨어가있는 경우 적절한 데이터 이동 일정을 마련해야합니다.

    • 기존 소프트웨어가없는 경우이 변환을 한 번 실행합니다.