2017-02-08 1 views
1

저는 장고를 시작했습니다. 나는 물건들을 해킹하고 싶다. 그래서 투표 설문서와 함께 나 자신의 실험적 응용 프로그램을 만들고있다. 실험 응용 프로그램과 관련 프로젝트의 이름을 변경하고 싶습니다.Django 1.10은 모델 변경을 감지하지 못하고 마이그레이션을 생성하지 않습니다.

그 과정에서 현재 데이터베이스를 삭제하고 처음부터 다시 시작하기로 결정했습니다. 뭔가 잘못 됐어. 기억이 안나. 지금 몇 시간이 지났습니다. 여기서 그곳으로 가서 진전을 이루었습니다.

내가 지금있는 상황은 장고가 내 models.py에 변경 사항을 알리는 것을 거부한다는 것입니다. 현재 앱이 자체적으로 나열되어 있지만 manage.py showmigrations을 실행하면 앱에 대한 마이그레이션이 나열되지 않습니다.

마이그레이션 디렉토리를 삭제하고 models.py 파일의 내용을 변경하고 그 조합을 시도하고 유망 해 보인 다양한 manage.py 명령을 시도했습니다. 지금까지 아무것도 작동하지 않았습니다.

그래서 내가 뭘 잘못하고 있을까요? 데이터베이스의 이름뿐만 아니라 저장된 디렉토리의 이름을 변경하는 것을 포함하여 앱의 이름을 변경했음을 기억하십시오. 검색 및 바꾸기가 프로젝트 및 응용 프로그램의 파일에 수행되었습니다. settings.py가 끝났지 만, 내가 아는 모든 것들이 잘 어울리는 것 같다.

감사합니다.

+0

무엇을'manage.py makemigrations 당신을 줄 new_app_name'을 알려 할 필요가 없습니다 작동하는지? –

+0

@AndreyShipilov :'App 'new_app_name'을 (를) 찾을 수 없습니다. INSTALLED_APPS에 있니? ' – MadEmperorYuri

+0

이름을 바꾼 앱의 이름은 –

답변

1

settings.py에서 앱 이름을 변경했다고 가정합니다. 당신이 말할 때 당신은 당신이 이렇게 시작할 때, 당신이 새로운 응용 프로그램이나 새 프로젝트 ... 의미를 시작 했, 앱 이름을 변경 :

django-admin.py startproject myproject 

startproject를 실행하면 당신에게 다음과 같은 폴더와 파일 구조를 제공합니다 :

:

 
    ├── manage.py 
    └── myproject 
     ├── __init__.py 
     ├── settings.py 
     ├── urls.py 
     └── wsgi.py 

여기에서, 당신은

python manage.py startapp myapp 

이것은 당신의 폴더 구조는 다음과 같이 할 것입니다 실행할 수 있습니다

 
    ├── manage.py 
    ├── my_django15_project 
    │ ├── __init__.py 
    │ ├── settings.py 
    │ ├── urls.py 
    │ └── wsgi.py 
    └── myapp 
     ├── __init__.py 
     ├── models.py 
     ├── tests.py 
     └── views.py 

거기에서 'myapp'폴더 이름을 'mynewapp'폴더로 변경 한 다음 settings.py에서 INSTALLED_APPS 섹션에 'mynewapp'가 표시되도록 수정하여 앱을 변경할 수 있습니다.

이 일 후에는

pythonmanage.py makemigrations mynewapp 

같은, 당신이 새 이름으로 폴더에 MyProject를 변경 한 경우 다음

python manage.py migrate 

를 실행 마이그레이션 파일

하게 있는지 확인 실행해야합니다 mynewproject, 그 이름을 다시 바꾼 다음 다시 실행 해 보도록 권합니다.

django-admin.py startproject mynewproject 

그런 다음 해당 파일을 적절하게 업데이트하고 myapp 폴더를 mynewproject 폴더로 복사하십시오.

데이터베이스 커넥터가 올바른지 확인하고 웹 서버를 다시 시작하십시오.

이 중 어느 것도, 당신은 좀 더 많은 정보를 제공, 그래서 나에게 코멘트를 남겨 나를

행운

+0

입니다. 이름을 변경하기로 결정했을 때 앱의 폴더 이름을 변경하고 검색을 실행하여 모든 앱 파일을 대체하기로했습니다. 이전 코드에서 새 코드로 코드를 복사하는 것보다 간단 해 보였기 때문에 이것을 선택했습니다. 브랜드를 새 앱으로 만들고 코드를 옮기려고합니다. 제가 함께 작업해온 프로젝트를 유지할 것입니다. 그래도 작동하지 않는다면 새로운 프로젝트를 시도 할 것입니다. – MadEmperorYuri

+0

앱을 리메이크하고 코드를 이동하는 것으로 보입니다. 여기에는 데이터베이스 플러시가 포함됩니다. Tim에게 감사드립니다! – MadEmperorYuri

+0

문제가 없지만 효과가있어 기쁩니다. 나는 왜 당신이 그렇게해야만하는지 확신하지 못합니다. 당신이 말한 바대로 (이름 바꾸기와 찾기 및 바꾸기) 정확하게 문제를 제기하지 않았지만, 제가 생각할 수있는 많은 것들이 있습니다. 이 :) 재미있는 장고를 배우십시오, 그것은 훌륭한 프레임 워크입니다. –

관련 문제