2009-06-09 4 views
7

이 문제는 기본적으로 이전 질문과 동일합니다 here.남쪽 이전 오류 응용 프로그램 "이 마이그레이션에서 사용할 수 없습니다"

그러나 거기에 대한 대답은 나를 위해 작동하지 않습니다. 남쪽의 트렁크 버전을 설치했고 문제의 마이그레이션 파일에 수동으로 가져 오기 행을 입력하고 별도의 디렉토리에서 전체 '시작 마이그레이션'을 수행하고 0001_initial.py 파일을 검사했습니다.

나는 여러 응용 프로그램과 함께 장고 프로젝트를 가지고 있는데 그 중 하나 ('core'라는 이름)는 다른 프로젝트에서 참조됩니다. 남쪽으로의 마이그레이션은 모델의 외래 키가 핵심 인 컬럼을 사용하여 새 테이블을 작성하려고합니다.

현재 마이그레이션 (0006)에서 코어를 가져오고 있습니다. 마이그레이션과 관련하여 0001을 추가했는데 문제가되지는 않습니다.

필드를 제거하고 마이그레이션을 실행하고 필드를 수동으로 추가하는 것처럼 과감한 조치를 취하기 전에이 남쪽 문제를 해결하기위한 알려진 수동 해결 방법이 있습니까? 과 같이 마이그레이션을 만든 데

python manage.py startmigration <appname> migrate_core --freeze core 
+0

글쎄, 나는 그것을 수동으로 끝내었다. 나는 최근에 새로운 모델을 추가해야했고, 나는 똑같은 문제를 겪고있다. 그렇다면 어떤 해결책이 있을까요? 아니면 Django Evolution으로 전환하거나 SQL을 포기하고 사용합니까? – ShawnMilo

답변

11

당신은 아마이 같은 --freeze 옵션을 사용하지 않은

./manage.py startmygration APPNAME --model newmodel에

이 오류를 발생합니다 : "이 마이그레이션에서는 'core'응용 프로그램의 'program'모델을 사용할 수 없습니다." 이 같은 마이그레이션을 재 작성

를 해결

./managepy startmigration APPNAME --model newmodel에 --freeze core.Program

그냥 나를 위해 트릭을하지 않았다 "--freeze 코어"하고 .

1

다른 장고 앱에있는 클래스에 액세스하여이 오류를받을 수 있습니다. 액세스하려는 수업이 models 사전에 있는지 확인하십시오.

관련 문제