2013-07-04 3 views
2

장고의 앱에서 사용하고있는 레거시 데이터베이스가 있습니다. django admin 기능을 사용하여 기존 테이블에서 models.py 파일을 생성했습니다.Django 모델 - 데이터베이스 변경

unique_together 제약 조건을 모델에 추가하는 경우 Django가 변경 사항을 관리합니까, 아니면 모델 변경 내용을 데이터베이스에 적용해야합니까?

답변

3

django가 변경 사항을 감지하려면 south이라는 타사 마이그레이션 도구를 사용해야합니다. 이제 python manage.py syncdb이라는 의미를 이미 확약 했으므로 테이블을 삭제하고 다시 시작해야합니다.

이것은 (당신이 당신의 테이블을 삭제 한 후) 당신이 그것을하는 방법이다 :

  1. 를 설치된 앱 남쪽으로 pip install south
  2. 추가를 사용하여 남쪽을 설치하고 다른 모든 전에 앱을 제공해야합니다 당신 마지막으로 - python manage.py syncdb < : python manage.py schemamigration --inital <your app name>
  3. 실행이 : python manage.py migrate <your app name>
  4. 실행이
  5. 실행이 만들어 당신은 그것을 실행해야합니다 :)

희망이 도움이.

+0

멋진 답변입니다. 당신은 결국'syncdb '가 필요 없다. – karthikr

+0

@karthikr : 당신이 처음으로이 모든 일을한다면 당신이 할 수 있습니다. –

관련 문제