2014-04-04 6 views
0
을 장고, 메 자닌를 변경

내 모델이었다모델, 사우스

class Author(Page): 
    dob = models.DateField("Date of birth") 
내가 가진 DOB 필드와 업데이트 된 모델을 제거

: 다음이

python manage.py schemamigration project_name 001_initial--add-field Author.name, Author.email 

:

class Author(Page): 
    name = models.CharField(max_length = 250) 
    email = models.EmailField() 

는 다음 두 가지 명령을 입력을 명령

python manage.py migrate project_name 

이미지 첨부 : 위의 명령으로 모델의 변경 사항을 저장할 수 없습니다.

enter image description here

당신의 도움이 필요!

+0

로? – alecxe

+0

@alecxe 그런 다음이 명령은 "아무 것도 변하지 않습니다" –

답변

0

해결책 :

1) 새로운 필드를 추가하기 전에 명령 프롬프트 및 프로젝트 또는 응용 프로그램이 어디 디렉토리로 이동합니다 이동합니다. 이제 models.py 파일에 필드를 추가하기 전에이 명령을 쓰기 python manage.py schemamigration your_project_or_app_name --initial

2) 이제이 명령을 쓰기 python manage.py migrate your_project_or_app_name --fake 0001(또는 중 마이그레이션 번호가 반환 - 그 상태로 남쪽 데이터베이스를 설정하는) 0001 마이그레이션 번호를 (테이블 이미 생성됨).

3) 이제 models.py 파일로 이동 당신의 cmd를이 명령을 python manage schemamigration your_project_or_app_name --auto

4) 마지막 단계를 실행에 변경이 마지막 마이그레이션 명령을 실행하여 저장 한 후, 당신의 models.py 파일에 새 필드를 추가 python manage.py migrate your_project_or_app_name

솔루션 참조 : Django & South: Adding new field but DatabaseError occurs "table already exists" 당신이 다음`파이썬 manage.py schemamigration 프로젝트 이름 --auto` 실행 모델을 변경 한 후`migrate`를 실행하면 어떻게 Yuji 'Tomita' Tomita